Changeset View
Changeset View
Standalone View
Standalone View
krusader/Synchronizer/synchronizergui.cpp
Show First 20 Lines • Show All 134 Lines • ▼ Show 20 Line(s) | |||||
135 | } | 135 | } | ||
136 | 136 | | |||
137 | void SynchronizerGUI::initGUI(const QString& profileName, QUrl leftURL, QUrl rightURL, QStringList selList) | 137 | void SynchronizerGUI::initGUI(const QString& profileName, QUrl leftURL, QUrl rightURL, QStringList selList) | ||
138 | { | 138 | { | ||
139 | setAttribute(Qt::WA_DeleteOnClose); | 139 | setAttribute(Qt::WA_DeleteOnClose); | ||
140 | 140 | | |||
141 | selectedFiles = std::move(selList); | 141 | selectedFiles = std::move(selList); | ||
142 | isComparing = wasClosed = wasSync = false; | 142 | isComparing = wasClosed = wasSync = false; | ||
143 | firstResize = true; | | |||
144 | sizeX = sizeY = -1; | | |||
145 | | ||||
146 | bool equalSizes = false; | | |||
147 | 143 | | |||
148 | hasSelectedFiles = (selectedFiles.count() != 0); | 144 | hasSelectedFiles = (selectedFiles.count() != 0); | ||
149 | 145 | | |||
150 | if (leftURL.isEmpty()) | 146 | if (leftURL.isEmpty()) | ||
151 | leftURL = QUrl::fromLocalFile(ROOT_DIR); | 147 | leftURL = QUrl::fromLocalFile(ROOT_DIR); | ||
152 | if (rightURL.isEmpty()) | 148 | if (rightURL.isEmpty()) | ||
153 | rightURL = QUrl::fromLocalFile(ROOT_DIR); | 149 | rightURL = QUrl::fromLocalFile(ROOT_DIR); | ||
154 | 150 | | |||
▲ Show 20 Lines • Show All 188 Lines • ▼ Show 20 Line(s) | |||||
343 | 339 | | |||
344 | KConfigGroup gl(krConfig, "Look&Feel"); | 340 | KConfigGroup gl(krConfig, "Look&Feel"); | ||
345 | syncList->setFont(gl.readEntry("Filelist Font", _FilelistFont)); | 341 | syncList->setFont(gl.readEntry("Filelist Font", _FilelistFont)); | ||
346 | 342 | | |||
347 | syncList->setBackgroundRole(QPalette::Window); | 343 | syncList->setBackgroundRole(QPalette::Window); | ||
348 | syncList->setAutoFillBackground(true); | 344 | syncList->setAutoFillBackground(true); | ||
349 | 345 | | |||
350 | QStringList labels; | 346 | QStringList labels; | ||
351 | labels << i18nc("@title:column file name", "Name"); | 347 | labels << i18nc("@title:column file name", "Name"); // 0 | ||
352 | labels << i18nc("@title:column", "Size"); | 348 | labels << i18nc("@title:column", "Size"); // 1 | ||
353 | labels << i18nc("@title:column", "Date"); | 349 | labels << i18nc("@title:column", "Date"); // 2 | ||
354 | labels << i18n("<=>"); | 350 | labels << i18n("<=>"); // 3 | ||
355 | labels << i18nc("@title:column", "Date"); | 351 | labels << i18nc("@title:column", "Date"); // 4 | ||
356 | labels << i18nc("@title:column", "Size"); | 352 | labels << i18nc("@title:column", "Size"); // 5 | ||
357 | labels << i18nc("@title:column file name", "Name"); | 353 | labels << i18nc("@title:column file name", "Name"); // 6 | ||
358 | syncList->setHeaderLabels(labels); | | |||
359 | 354 | | |||
360 | syncList->header()->setSectionResizeMode(QHeaderView::Interactive); | 355 | syncList->setHeaderLabels(labels); | ||
361 | 356 | | |||
362 | if (group.hasKey("State")) | 357 | QHeaderView *header = syncList->header(); | ||
363 | syncList->header()->restoreState(group.readEntry("State", QByteArray())); | | |||
364 | else { | | |||
365 | int i = QFontMetrics(syncList->font()).width("W"); | | |||
366 | int j = QFontMetrics(syncList->font()).width("0"); | | |||
367 | j = (i > j ? i : j); | | |||
368 | int typeWidth = j * 7 / 2; | | |||
369 | | ||||
370 | syncList->setColumnWidth(0, typeWidth * 4); | | |||
371 | syncList->setColumnWidth(1, typeWidth * 2); | | |||
372 | syncList->setColumnWidth(2, typeWidth * 3); | | |||
373 | syncList->setColumnWidth(3, typeWidth * 1); | | |||
374 | syncList->setColumnWidth(4, typeWidth * 3); | | |||
375 | syncList->setColumnWidth(5, typeWidth * 2); | | |||
376 | syncList->setColumnWidth(6, typeWidth * 4); | | |||
377 | 358 | | |||
378 | equalSizes = true; | 359 | if (group.hasKey("State")) { | ||
360 | header->restoreState(group.readEntry("State", QByteArray())); | ||||
379 | } | 361 | } | ||
380 | 362 | | |||
363 | header->setSectionResizeMode(0, QHeaderView::Stretch); | ||||
364 | header->setSectionResizeMode(1, QHeaderView::ResizeToContents); | ||||
365 | header->setSectionResizeMode(2, QHeaderView::ResizeToContents); | ||||
366 | header->setSectionResizeMode(3, QHeaderView::ResizeToContents); | ||||
367 | header->setSectionResizeMode(4, QHeaderView::ResizeToContents); | ||||
368 | header->setSectionResizeMode(5, QHeaderView::ResizeToContents); | ||||
369 | header->setSectionResizeMode(6, QHeaderView::Stretch); | ||||
370 | header->setStretchLastSection(false); | ||||
371 | | ||||
381 | syncList->setAllColumnsShowFocus(true); | 372 | syncList->setAllColumnsShowFocus(true); | ||
382 | syncList->setSelectionMode(QAbstractItemView::ExtendedSelection); | 373 | syncList->setSelectionMode(QAbstractItemView::ExtendedSelection); | ||
383 | syncList->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); | 374 | syncList->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); | ||
384 | syncList->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); | 375 | syncList->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); | ||
385 | syncList->header()->setSortIndicatorShown(false); | 376 | header->setSortIndicatorShown(false); | ||
386 | syncList->setSortingEnabled(false); | 377 | syncList->setSortingEnabled(false); | ||
387 | syncList->setRootIsDecorated(true); | 378 | syncList->setRootIsDecorated(true); | ||
388 | syncList->setIndentation(10); | 379 | syncList->setIndentation(10); | ||
389 | syncList->setDragEnabled(true); | 380 | syncList->setDragEnabled(true); | ||
390 | syncList->setAutoFillBackground(true); | 381 | syncList->setAutoFillBackground(true); | ||
391 | 382 | | |||
392 | synchronizerGrid->addWidget(syncList, 1, 0); | 383 | synchronizerGrid->addWidget(syncList, 1, 0); | ||
393 | 384 | | |||
▲ Show 20 Lines • Show All 204 Lines • ▼ Show 20 Line(s) | 588 | else | |||
598 | backGrounds[ clr ] = gc.readEntry(bckgEntry, backgroundDefault); | 589 | backGrounds[ clr ] = gc.readEntry(bckgEntry, backgroundDefault); | ||
599 | } | 590 | } | ||
600 | if (backGrounds[ TT_EQUALS ].isValid()) { | 591 | if (backGrounds[ TT_EQUALS ].isValid()) { | ||
601 | QPalette pal = syncList->palette(); | 592 | QPalette pal = syncList->palette(); | ||
602 | pal.setColor(QPalette::Base, backGrounds[ TT_EQUALS ]); | 593 | pal.setColor(QPalette::Base, backGrounds[ TT_EQUALS ]); | ||
603 | syncList->setPalette(pal); | 594 | syncList->setPalette(pal); | ||
604 | } | 595 | } | ||
605 | 596 | | |||
597 | if (group.readEntry("Window Maximized", false)) { | ||||
598 | setWindowState(windowState() | Qt::WindowMaximized); | ||||
599 | } else { | ||||
606 | int sx = group.readEntry("Window Width", -1); | 600 | int sx = group.readEntry("Window Width", -1); | ||
607 | int sy = group.readEntry("Window Height", -1); | 601 | int sy = group.readEntry("Window Height", -1); | ||
608 | 602 | if (sx != -1 && sy != -1) { | |||
609 | if (sx != -1 && sy != -1) | | |||
610 | resize(sx, sy); | 603 | resize(sx, sy); | ||
611 | | ||||
612 | if (group.readEntry("Window Maximized", false)) { | | |||
613 | setWindowState(windowState() | Qt::WindowMaximized); | | |||
614 | } | 604 | } | ||
615 | | ||||
616 | if (equalSizes) { | | |||
617 | int newSize6 = syncList->header()->sectionSize(6); | | |||
618 | int newSize0 = syncList->header()->sectionSize(0); | | |||
619 | int delta = newSize6 - newSize0 + (newSize6 & 1); | | |||
620 | | ||||
621 | newSize0 += (delta / 2); | | |||
622 | | ||||
623 | if (newSize0 > 20) | | |||
624 | syncList->header()->resizeSection(0, newSize0); | | |||
625 | } | 605 | } | ||
626 | 606 | | |||
627 | if (!profileName.isNull()) | 607 | if (!profileName.isNull()) | ||
628 | profileManager->loadProfile(profileName); | 608 | profileManager->loadProfile(profileName); | ||
629 | 609 | | |||
630 | synchronizer.setParentWidget(this); | 610 | synchronizer.setParentWidget(this); | ||
631 | } | 611 | } | ||
632 | 612 | | |||
▲ Show 20 Lines • Show All 323 Lines • ▼ Show 20 Line(s) | 896 | { | |||
956 | group.writeEntry("Deletable Button", btnDeletable->isChecked()); | 936 | group.writeEntry("Deletable Button", btnDeletable->isChecked()); | ||
957 | group.writeEntry("Duplicates Button", btnDuplicates->isChecked()); | 937 | group.writeEntry("Duplicates Button", btnDuplicates->isChecked()); | ||
958 | group.writeEntry("Singles Button", btnSingles->isChecked()); | 938 | group.writeEntry("Singles Button", btnSingles->isChecked()); | ||
959 | 939 | | |||
960 | group.writeEntry("Scroll Results", btnScrollResults->isChecked()); | 940 | group.writeEntry("Scroll Results", btnScrollResults->isChecked()); | ||
961 | 941 | | |||
962 | group.writeEntry("Parallel Threads", parallelThreadsSpinBox->value()); | 942 | group.writeEntry("Parallel Threads", parallelThreadsSpinBox->value()); | ||
963 | 943 | | |||
964 | group.writeEntry("Window Width", sizeX); | 944 | group.writeEntry("Window Width", size().width()); | ||
965 | group.writeEntry("Window Height", sizeY); | 945 | group.writeEntry("Window Height", size().height()); | ||
966 | group.writeEntry("Window Maximized", isMaximized()); | 946 | group.writeEntry("Window Maximized", isMaximized()); | ||
967 | 947 | | |||
968 | group.writeEntry("State", syncList->header()->saveState()); | 948 | group.writeEntry("State", syncList->header()->saveState()); | ||
969 | 949 | | |||
970 | QDialog::reject(); | 950 | QDialog::reject(); | ||
971 | 951 | | |||
972 | this->deleteLater(); | 952 | this->deleteLater(); | ||
973 | 953 | | |||
▲ Show 20 Lines • Show All 271 Lines • ▼ Show 20 Line(s) | 1211 | { | |||
1245 | 1225 | | |||
1246 | wasSync = sd->wasSyncronizationStarted(); | 1226 | wasSync = sd->wasSyncronizationStarted(); | ||
1247 | delete sd; | 1227 | delete sd; | ||
1248 | 1228 | | |||
1249 | if (wasSync) | 1229 | if (wasSync) | ||
1250 | closeDialog(); | 1230 | closeDialog(); | ||
1251 | } | 1231 | } | ||
1252 | 1232 | | |||
1253 | void SynchronizerGUI::resizeEvent(QResizeEvent *e) | | |||
1254 | { | | |||
1255 | if (!isMaximized()) { | | |||
1256 | sizeX = e->size().width(); | | |||
1257 | sizeY = e->size().height(); | | |||
1258 | } | | |||
1259 | | ||||
1260 | if (!firstResize) { | | |||
1261 | int delta = e->size().width() - e->oldSize().width() + (e->size().width() & 1); | | |||
1262 | int newSize = syncList->header()->sectionSize(0) + delta / 2; | | |||
1263 | | ||||
1264 | if (newSize > 20) | | |||
1265 | syncList->header()->resizeSection(0, newSize); | | |||
1266 | } | | |||
1267 | firstResize = false; | | |||
1268 | QDialog::resizeEvent(e); | | |||
1269 | } | | |||
1270 | | ||||
1271 | void SynchronizerGUI::statusInfo(const QString& info) | 1233 | void SynchronizerGUI::statusInfo(const QString& info) | ||
1272 | { | 1234 | { | ||
1273 | statusLabel->setText(info); | 1235 | statusLabel->setText(info); | ||
1274 | qApp->processEvents(); | 1236 | qApp->processEvents(); | ||
1275 | } | 1237 | } | ||
1276 | 1238 | | |||
1277 | void SynchronizerGUI::swapSides() | 1239 | void SynchronizerGUI::swapSides() | ||
1278 | { | 1240 | { | ||
▲ Show 20 Lines • Show All 346 Lines • Show Last 20 Lines |