MCPcopy Create free account
hub / github.com/KDE/kdiff3 / DiffTextWindowData

Class DiffTextWindowData

src/difftextwindow.cpp:120–272  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118};
119
120class DiffTextWindowData
121{
122 public:
123 explicit DiffTextWindowData(QPointer<DiffTextWindow> p)
124 {
125 m_pDiffTextWindow = p;
126#if defined(Q_OS_WIN)
127 m_eLineEndStyle = eLineEndStyleDos;
128#else
129 m_eLineEndStyle = eLineEndStyleUnix;
130#endif
131 }
132
133 void init(
134 const QString& filename,
135 const char* encoding,
136 e_LineEndStyle eLineEndStyle,
137 const std::shared_ptr<LineDataVector>& pLineData,
138 LineType size,
139 const Diff3LineVector* pDiff3LineVector,
140 const ManualDiffHelpList* pManualDiffHelpList)
141 {
142 //wait for all helper threads to finish
143 reset();
144 m_filename = filename;
145 m_pLineData = pLineData;
146 m_size = size;
147 mDiff3LineVector = pDiff3LineVector;
148 m_pManualDiffHelpList = pManualDiffHelpList;
149
150 mTextEncoding = QString::fromLatin1(encoding);
151 m_eLineEndStyle = eLineEndStyle;
152 }
153
154 void reset()
155 {
156 while(DiffTextWindow::maxThreads() > 0) {} //Clear word wrap threads.
157
158 m_firstLine = 0;
159 m_oldFirstLine = LineRef::invalid;
160 m_horizScrollOffset = 0;
161 m_scrollDeltaX = 0;
162 m_scrollDeltaY = 0;
163 m_bMyUpdate = false;
164 m_fastSelectorLine1 = 0;
165 m_fastSelectorNofLines = 0;
166 m_maxTextWidth = -1;
167
168 m_pLineData = nullptr;
169 m_size = 0;
170 mDiff3LineVector = nullptr;
171 m_filename = "";
172 m_diff3WrapLineVector.clear();
173 }
174
175 [[nodiscard]] QString getString(const LineType d3lIdx) const;
176 [[nodiscard]] QString getLineString(const qint32 line) const;
177

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected