95
95
#include "BookMan/krbookmarkhandler.h"
96
96
#include "BookMan/krbookmarkbutton.h"
98
#define REFRESH_BOTH_PANELS { ListPanel *p=ACTIVE_PANEL; \
99
MAIN_VIEW->left->func->refresh(); \
100
MAIN_VIEW->right->func->refresh();\
101
p->slotFocusOnMe(); }
102
#define ACTIVE_PANEL_MANAGER (ACTIVE_PANEL == MAIN_VIEW->left ? MAIN_VIEW->leftMng : \
106
99
#define ACTIVE_VIEW _mainWindow->activeView()
168
161
QStringList* lstActive;
169
162
KUrl name1, name2;
171
MAIN_VIEW->left->getSelectedNames(&lstLeft);
172
MAIN_VIEW->right->getSelectedNames(&lstRight);
164
LEFT_PANEL->getSelectedNames(&lstLeft);
165
RIGHT_PANEL->getSelectedNames(&lstRight);
173
166
lstActive = (ACTIVE_PANEL->gui->isLeft() ? &lstLeft : &lstRight);
175
168
if (lstLeft.count() == 1 && lstRight.count() == 1) {
176
169
// first, see if we've got exactly 1 selected file in each panel:
177
name1 = MAIN_VIEW->left->func->files()->vfs_getFile(lstLeft[0]);
178
name2 = MAIN_VIEW->right->func->files()->vfs_getFile(lstRight[0]);
170
name1 = LEFT_PANEL->func->files()->vfs_getFile(lstLeft[0]);
171
name2 = RIGHT_PANEL->func->files()->vfs_getFile(lstRight[0]);
179
172
} else if (lstActive->count() == 2) {
180
173
// next try: are in the current panel exacty 2 files selected?
181
174
name1 = ACTIVE_PANEL->func->files()->vfs_getFile((*lstActive)[0]);
256
249
else MAIN_VIEW->cmdLine->show();
259
void KRslots::toggleToolbar()
261
if (krApp->toolBar()->isVisible())
262
krApp->toolBar()->hide();
263
else krApp->toolBar()->show();
266
void KRslots::toggleActionsToolbar()
268
if (krApp->toolBar("actionsToolBar")->isVisible())
269
krApp->toolBar("actionsToolBar")->hide();
270
else krApp->toolBar("actionsToolBar")->show();
274
252
void KRslots::toggleStatusbar()
276
254
if (krApp->statusBar()->isVisible())
362
340
MAIN_VIEW->rightMng->refreshAllTabs(true);
365
void KRslots::togglePreviews(bool show)
368
ACTIVE_VIEW->showPreviews(show);
371
343
void KRslots::swapPanels()
373
KUrl leftURL = MAIN_VIEW->left->func->files()->vfs_getOrigin();
374
KUrl rightURL = MAIN_VIEW->right->func->files()->vfs_getOrigin();
345
KUrl leftURL = LEFT_PANEL->func->files()->vfs_getOrigin();
346
KUrl rightURL = RIGHT_PANEL->func->files()->vfs_getOrigin();
376
MAIN_VIEW->left->func->openUrl(rightURL);
377
MAIN_VIEW->right->func->openUrl(leftURL);
348
LEFT_PANEL->func->openUrl(rightURL);
349
LEFT_PANEL->func->openUrl(leftURL);
380
352
void KRslots::toggleSwapSides()
382
QList<int> lst = MAIN_VIEW->horiz_splitter->sizes();
384
MAIN_VIEW->horiz_splitter->addWidget(MAIN_VIEW->leftMng);
387
lst[ 0 ] = lst [ 1 ];
390
MAIN_VIEW->horiz_splitter->setSizes(lst);
392
ListPanel *tmpPanel; // temporary variables for swapping
393
PanelManager *tmpMng;
395
tmpMng = MAIN_VIEW->leftMng;
396
MAIN_VIEW->leftMng = MAIN_VIEW->rightMng;
397
MAIN_VIEW->rightMng = tmpMng;
399
tmpPanel = MAIN_VIEW->left;
400
MAIN_VIEW->left = MAIN_VIEW->right;
401
MAIN_VIEW->right = tmpPanel;
403
MAIN_VIEW->leftMng->swapPanels();
404
MAIN_VIEW->rightMng->swapPanels();
406
MAIN_VIEW->left->updateGeometry();
407
MAIN_VIEW->right->updateGeometry();
354
MAIN_VIEW->swapSides();
410
357
void KRslots::search()
522
proc << KrServices::fullPathName("kdesu") << KrServices::fullPathName("krusader")
523
+ " --left=" + MAIN_VIEW->left->func->files()->vfs_getOrigin().url()
524
+ " --right=" + MAIN_VIEW->right->func->files()->vfs_getOrigin().url();
469
proc << KrServices::fullPathName("kdesu") << "-c" << KrServices::fullPathName("krusader")
470
+ " --left=" + LEFT_PANEL->func->files()->vfs_getOrigin().url()
471
+ " --right=" + RIGHT_PANEL->func->files()->vfs_getOrigin().url();
526
473
if (!proc.startDetached())
527
474
KMessageBox::error(0, i18n("Error executing %1!", proc.program()[0]));
571
void KRslots::duplicateTab()
573
ACTIVE_PANEL_MANAGER->slotNewTab(ACTIVE_PANEL->virtualPath());
576
// ugly: do this right before release!
577
void KRslots::newTab(const KUrl& url)
580
ACTIVE_PANEL_MANAGER->slotNewTab(url);
581
else ACTIVE_PANEL_MANAGER->slotNewTab();
584
void KRslots::nextTab()
586
ACTIVE_PANEL_MANAGER->slotNextTab();
589
void KRslots::previousTab()
591
ACTIVE_PANEL_MANAGER->slotPreviousTab();
594
void KRslots::newTab(KrViewItem *it)
597
if (it->name() == "..") {
598
KUrl url = ACTIVE_PANEL->virtualPath();
599
ACTIVE_PANEL_MANAGER->slotNewTab(url.upUrl());
600
} else if (ITEM2VFILE(ACTIVE_PANEL, it)->vfile_isDir()) {
601
KUrl url = ACTIVE_PANEL->virtualPath();
602
url.addPath(it->name());
603
ACTIVE_PANEL_MANAGER->slotNewTab(url);
607
void KRslots::closeTab()
609
ACTIVE_PANEL_MANAGER->slotCloseTab();
612
void KRslots::closeInactiveTabs()
614
ACTIVE_PANEL_MANAGER->slotCloseInactiveTabs();
617
void KRslots::closeDuplicatedTabs()
619
ACTIVE_PANEL_MANAGER->slotCloseDuplicatedTabs();
622
void KRslots::lockTab()
624
ACTIVE_PANEL_MANAGER->slotLockTab();
627
518
void KRslots::slotSplit()
629
520
QStringList list;
789
680
void KRslots::slotSynchronizeDirs(QStringList selected)
791
new SynchronizerGUI(0, MAIN_VIEW->left->func->files()->vfs_getOrigin(),
792
MAIN_VIEW->right->func->files()->vfs_getOrigin(), selected);
682
new SynchronizerGUI(0, LEFT_PANEL->func->files()->vfs_getOrigin(),
683
RIGHT_PANEL->func->files()->vfs_getOrigin(), selected);
795
686
void KRslots::compareSetup()
831
722
void KRslots::windowActive()
833
724
if (MAIN_VIEW != 0) { /* CRASH FIX: it's possible that the method is called after destroying the main view */
834
MAIN_VIEW->left->panelActive();
835
MAIN_VIEW->right->panelActive();
725
LEFT_PANEL->panelActive();
726
RIGHT_PANEL->panelActive();
841
732
void KRslots::windowInactive()
843
734
if (MAIN_VIEW != 0) { /* CRASH FIX: it's possible that the method is called after destroying the main view */
844
MAIN_VIEW->left->panelInactive();
845
MAIN_VIEW->right->panelInactive();
735
LEFT_PANEL->panelInactive();
736
RIGHT_PANEL->panelInactive();