You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(98) |
Sep
(138) |
Oct
(100) |
Nov
(49) |
Dec
(131) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(94) |
Feb
(65) |
Mar
(100) |
Apr
(83) |
May
(72) |
Jun
(29) |
Jul
(167) |
Aug
(127) |
Sep
(131) |
Oct
(269) |
Nov
(122) |
Dec
(100) |
2005 |
Jan
(228) |
Feb
(266) |
Mar
(63) |
Apr
(135) |
May
(157) |
Jun
(52) |
Jul
(25) |
Aug
(49) |
Sep
(184) |
Oct
(159) |
Nov
(75) |
Dec
(37) |
2006 |
Jan
(60) |
Feb
(129) |
Mar
(110) |
Apr
(34) |
May
(31) |
Jun
(42) |
Jul
(72) |
Aug
(90) |
Sep
(57) |
Oct
(66) |
Nov
(42) |
Dec
(90) |
2007 |
Jan
(106) |
Feb
(54) |
Mar
(93) |
Apr
(27) |
May
(21) |
Jun
(17) |
Jul
(19) |
Aug
(22) |
Sep
(25) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2008 |
Jan
(65) |
Feb
(70) |
Mar
(29) |
Apr
(45) |
May
(91) |
Jun
(20) |
Jul
(11) |
Aug
(24) |
Sep
(23) |
Oct
(13) |
Nov
(23) |
Dec
(39) |
2009 |
Jan
(23) |
Feb
(39) |
Mar
(15) |
Apr
(56) |
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ck...@us...> - 2003-09-23 12:11:19
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv29356/krusader_kde3/krusader/Panel Modified Files: krdetailedview.cpp Log Message: FIXED: Ctrl+A fix corrupted the QuickSearch (Key_A was handled differently) Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** krdetailedview.cpp 23 Sep 2003 11:08:49 -0000 1.42 --- krdetailedview.cpp 23 Sep 2003 12:11:16 -0000 1.43 *************** *** 546,556 **** SLOTS->deleteFiles(); return ; - case Key_A : // mark all - if ( e->state() == ControlButton ) { - KListView::keyPressEvent( e ); - updateView(); - } else - e->ignore(); - break; case Key_Space : { KrDetailedViewItem * viewItem = dynamic_cast<KrDetailedViewItem *> ( getCurrentKrViewItem() ); --- 546,549 ---- *************** *** 581,584 **** --- 574,582 ---- } break; + case Key_A : // mark all + if ( e->state() == ControlButton ) { + KListView::keyPressEvent( e ); + updateView(); + } default: // if the key is A..Z or 1..0 do quick search otherwise... |
From: <ck...@us...> - 2003-09-23 11:08:53
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv19644/krusader_kde3/krusader/Panel Modified Files: krdetailedview.cpp listpanel.cpp Log Message: FIXED: Ctrl+Enter implementation in the panel. Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** krdetailedview.cpp 22 Sep 2003 23:49:45 -0000 1.41 --- krdetailedview.cpp 23 Sep 2003 11:08:49 -0000 1.42 *************** *** 499,504 **** case Key_Enter : case Key_Return : { ! if( e->state() & ControlButton ) ! SLOTS->insertFileName( (e->state() & ShiftButton) != 0 ); else { --- 499,504 ---- case Key_Enter : case Key_Return : { ! if ( e->state() & ControlButton ) // let the panel handle it ! e->ignore(); else { Index: listpanel.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/listpanel.cpp,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** listpanel.cpp 22 Sep 2003 20:56:58 -0000 1.34 --- listpanel.cpp 23 Sep 2003 11:08:50 -0000 1.35 *************** *** 692,695 **** --- 692,702 ---- void ListPanel::keyPressEvent( QKeyEvent *e ) { switch ( e->key() ) { + case Key_Enter : + case Key_Return : + if( e->state() & ControlButton ) + SLOTS->insertFileName( (e->state() & ShiftButton) != 0 ); + else + e->ignore(); + break; case Key_Right : case Key_Left : *************** *** 709,712 **** --- 716,720 ---- } else e->ignore(); + break; case Key_Down : *************** *** 719,722 **** --- 727,731 ---- } else e->ignore(); + break; default: |
From: <ck...@us...> - 2003-09-22 23:49:50
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv3944/krusader_kde3/krusader Modified Files: krslots.cpp krslots.h Log Message: ADDED: Ctrl+Enter & Ctrl+Shift+Enter shortcuts. Index: krslots.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krslots.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** krslots.cpp 20 Sep 2003 17:02:06 -0000 1.17 --- krslots.cpp 22 Sep 2003 23:49:44 -0000 1.18 *************** *** 234,237 **** --- 234,257 ---- } + void KRslots::insertFileName(bool full_path) + { + QString filename = ACTIVE_PANEL->view->getCurrentItem(); + if( filename == QString::null ) + return; + + if( full_path ) + { + QString path=ACTIVE_FUNC->files()->vfs_getOrigin(); + if( !path.endsWith( "/" )) + path+="/"; + filename = path+filename; + } + + QString current = MAIN_VIEW->cmdLine->text(); + if( current.length() != 0 && !current.endsWith( " " ) ) + current += " "; + MAIN_VIEW->cmdLine->setText( current + filename ); + } + // directory list functions void KRslots::allFilter() { ACTIVE_PANEL->setFilter(ListPanel::ALL); } Index: krslots.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krslots.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** krslots.h 20 Sep 2003 17:02:06 -0000 1.9 --- krslots.h 22 Sep 2003 23:49:44 -0000 1.10 *************** *** 62,65 **** --- 62,66 ---- void compareContent(); void rightclickMenu(); + void insertFileName(bool full_path); void toggleHidden(); void toggleSwapPanels(); |
From: <ck...@us...> - 2003-09-22 23:49:50
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv3944/krusader_kde3/krusader/Panel Modified Files: krdetailedview.cpp Log Message: ADDED: Ctrl+Enter & Ctrl+Shift+Enter shortcuts. Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** krdetailedview.cpp 22 Sep 2003 17:31:33 -0000 1.40 --- krdetailedview.cpp 22 Sep 2003 23:49:45 -0000 1.41 *************** *** 498,505 **** switch ( e->key() ) { case Key_Enter : ! case Key_Return : { ! KrViewItem * i = getCurrentKrViewItem(); ! QString tmp = i->name(); ! emit executed( tmp ); break; } --- 498,510 ---- switch ( e->key() ) { case Key_Enter : ! case Key_Return : { ! if( e->state() & ControlButton ) ! SLOTS->insertFileName( (e->state() & ShiftButton) != 0 ); ! else ! { ! KrViewItem * i = getCurrentKrViewItem(); ! QString tmp = i->name(); ! emit executed( tmp ); ! } break; } |
From: <ck...@us...> - 2003-09-22 23:49:50
|
Update of /cvsroot/krusader/krusader_kde3/krusader/GUI In directory sc8-pr-cvs1:/tmp/cvs-serv3944/krusader_kde3/krusader/GUI Modified Files: kcmdline.cpp kcmdline.h Log Message: ADDED: Ctrl+Enter & Ctrl+Shift+Enter shortcuts. Index: kcmdline.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/GUI/kcmdline.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** kcmdline.cpp 17 Sep 2003 17:34:16 -0000 1.13 --- kcmdline.cpp 22 Sep 2003 23:49:44 -0000 1.14 *************** *** 163,166 **** --- 163,174 ---- void KrHistoryCombo::keyPressEvent( QKeyEvent *e ) { switch (e->key()) { + case Key_Enter: + case Key_Return: + if (e->state() & ControlButton) { + SLOTS->insertFileName( ( e->state() & ShiftButton ) != 0 ); + break; + } + KHistoryCombo::keyPressEvent(e); + break; case Key_Up: if (e->state() == ControlButton) { Index: kcmdline.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/GUI/kcmdline.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** kcmdline.h 13 Sep 2003 11:27:30 -0000 1.6 --- kcmdline.h 22 Sep 2003 23:49:45 -0000 1.7 *************** *** 64,67 **** --- 64,69 ---- ~KCMDLine(); void setCurrent( const QString & ); + QString text() {return cmdLine->currentText();} + void setText(QString text) {cmdLine->setCurrentText( text );} public slots: |
From: <ck...@us...> - 2003-09-22 23:49:50
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv3944/krusader_kde3 Modified Files: ChangeLog Log Message: ADDED: Ctrl+Enter & Ctrl+Shift+Enter shortcuts. Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.94 retrieving revision 1.95 diff -C2 -d -r1.94 -r1.95 *** ChangeLog 22 Sep 2003 21:21:51 -0000 1.94 --- ChangeLog 22 Sep 2003 23:49:44 -0000 1.95 *************** *** 1,3 **** --- 1,4 ---- ====================== + ADDED: Ctrl+Enter and Ctrl+Shift+Enter keyboard shortcuts ADDED: default shortcut for refreshing the panel is Ctrl+R ADDED: ctrl-left/right arrow checks if we're on a folder, if so it refreshes the other panel with the contents |
From: <ck...@us...> - 2003-09-22 21:21:59
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv32541/krusader_kde3/krusader Modified Files: krusader.cpp Log Message: ADDED: The default panel refresh shortcut is Ctrl+R from now Index: krusader.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** krusader.cpp 22 Sep 2003 19:39:44 -0000 1.32 --- krusader.cpp 22 Sep 2003 21:21:51 -0000 1.33 *************** *** 310,314 **** //KStdAction::up( SLOTS, SLOT( dirUp() ), actionCollection(), "std_up" )->setShortcut(Key_Backspace); KStdAction::home( SLOTS, SLOT( home() ), actionCollection(), "std_home" )->setShortcut(Key_QuoteLeft); ! KStdAction::redisplay( SLOTS, SLOT( refresh() ), actionCollection(), "std_redisplay" )->setText("Reload"); actShowToolBar = KStdAction::showToolbar( SLOTS, SLOT( toggleToolbar() ), actionCollection(), "std_toolbar" ); actShowStatusBar = KStdAction::showStatusbar( SLOTS, SLOT( toggleStatusbar() ), actionCollection(), "std_statusbar" ); --- 310,316 ---- //KStdAction::up( SLOTS, SLOT( dirUp() ), actionCollection(), "std_up" )->setShortcut(Key_Backspace); KStdAction::home( SLOTS, SLOT( home() ), actionCollection(), "std_home" )->setShortcut(Key_QuoteLeft); ! KAction *actRedisplay = KStdAction::redisplay( SLOTS, SLOT( refresh() ), actionCollection(), "std_redisplay" ); ! actRedisplay->setText( "Reload" ); ! actRedisplay->setShortcut( CTRL + Key_R ); actShowToolBar = KStdAction::showToolbar( SLOTS, SLOT( toggleToolbar() ), actionCollection(), "std_toolbar" ); actShowStatusBar = KStdAction::showStatusbar( SLOTS, SLOT( toggleStatusbar() ), actionCollection(), "std_statusbar" ); |
From: <ck...@us...> - 2003-09-22 21:21:59
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv32541/krusader_kde3 Modified Files: ChangeLog Log Message: ADDED: The default panel refresh shortcut is Ctrl+R from now Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.93 retrieving revision 1.94 diff -C2 -d -r1.93 -r1.94 *** ChangeLog 22 Sep 2003 20:26:57 -0000 1.93 --- ChangeLog 22 Sep 2003 21:21:51 -0000 1.94 *************** *** 1,3 **** --- 1,4 ---- ====================== + ADDED: default shortcut for refreshing the panel is Ctrl+R ADDED: ctrl-left/right arrow checks if we're on a folder, if so it refreshes the other panel with the contents of the folder, otherwise to the same path as current one (Wincmd style) |
From: <ck...@us...> - 2003-09-22 20:57:02
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv26322/krusader_kde3/krusader/Panel Modified Files: listpanel.cpp Log Message: FIXED: compilation problem with gcc-3.3 Index: listpanel.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/listpanel.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** listpanel.cpp 22 Sep 2003 20:25:42 -0000 1.33 --- listpanel.cpp 22 Sep 2003 20:56:58 -0000 1.34 *************** *** 100,105 **** status->setMaximumHeight( sheight ); QWhatsThis::add ! ( status, i18n( "The status bar displays information about the FILESYSTEM which hold your current directory: Total size, free space, type of ! filesystem etc." ) ); connect( status, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); // ... create the bookmark list --- 100,107 ---- status->setMaximumHeight( sheight ); QWhatsThis::add ! ( status, i18n( "The status bar displays information about the FILESYSTEM " ! "which hold your current directory: Total size, free space, " ! "type of filesystem etc." ) ); ! connect( status, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); // ... create the bookmark list |
From: <ma...@us...> - 2003-09-22 20:50:50
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv25309/krusader Modified Files: paneltabbar.cpp Log Message: add: option to squeeze text in tabs (not yet used) Index: paneltabbar.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/paneltabbar.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** paneltabbar.cpp 22 Sep 2003 19:36:22 -0000 1.2 --- paneltabbar.cpp 22 Sep 2003 20:50:46 -0000 1.3 *************** *** 26,30 **** #include <qwidgetstack.h> #include <qfontmetrics.h> ! #include <kdebug.h> PanelTabBar::PanelTabBar(QWidget *parent): QTabBar(parent) { --- 26,30 ---- #include <qwidgetstack.h> #include <qfontmetrics.h> ! #include <qtooltip.h> PanelTabBar::PanelTabBar(QWidget *parent): QTabBar(parent) { *************** *** 128,131 **** --- 128,184 ---- emit closeCurrentTab(); } + + QString PanelTabBar::squeeze(QString text) { + QFontMetrics fm(fontMetrics()); + int labelWidth = (tabAt(0) ? tab(0)->rect().width() : fm.width("WWWWW")); + int textWidth = fm.width(text); + if (textWidth > labelWidth) { + // start with the dots only + QString squeezedText = "..."; + int squeezedWidth = fm.width(squeezedText); + + // estimate how many letters we can add to the dots on both sides + int letters = text.length() * (labelWidth - squeezedWidth) / textWidth / 2; + if (labelWidth < squeezedWidth) letters=1; + squeezedText = text.left(letters) + "..." + text.right(letters); + squeezedWidth = fm.width(squeezedText); + + if (squeezedWidth < labelWidth) { + // we estimated too short + // add letters while text < label + do { + letters++; + squeezedText = text.left(letters) + "..." + text.right(letters); + squeezedWidth = fm.width(squeezedText); + } while (squeezedWidth < labelWidth); + letters--; + squeezedText = text.left(letters) + "..." + text.right(letters); + } else if (squeezedWidth > labelWidth) { + // we estimated too long + // remove letters while text > label + do { + letters--; + squeezedText = text.left(letters) + "..." + text.right(letters); + squeezedWidth = fm.width(squeezedText); + } while (letters && squeezedWidth > labelWidth); + } + + if (letters < 5) { + // too few letters added -> we give up squeezing + return text; + } else { + return squeezedText; + } + + QToolTip::add( this, text ); + + } else { + return text; + + QToolTip::remove( this ); + QToolTip::hide(); + }; + } + // -----------------------------> PanelTab <---------------------------- |
From: <ma...@us...> - 2003-09-22 20:50:26
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv25161/krusader Modified Files: paneltabbar.h Log Message: add: option to squeeze text in tabs (not yet used) Index: paneltabbar.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/paneltabbar.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** paneltabbar.h 22 Sep 2003 19:36:22 -0000 1.2 --- paneltabbar.h 22 Sep 2003 20:50:22 -0000 1.3 *************** *** 83,86 **** --- 83,87 ---- void mousePressEvent( QMouseEvent* ); void insertAction( KAction* ); + QString squeeze(QString text); protected slots: |
From: <ma...@us...> - 2003-09-22 20:27:02
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv19546 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** ChangeLog 22 Sep 2003 19:34:39 -0000 1.92 --- ChangeLog 22 Sep 2003 20:26:57 -0000 1.93 *************** *** 1,3 **** --- 1,5 ---- ====================== + ADDED: ctrl-left/right arrow checks if we're on a folder, if so it refreshes the other panel with the contents + of the folder, otherwise to the same path as current one (Wincmd style) ADDED: tabbed-browsing beta ---> memory leak? listpanel doesn't seem to be deleted (using top to check) FIXED: internal editor / viewer crash at invalid symlinks |
From: <ma...@us...> - 2003-09-22 20:25:47
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv19317/krusader/Panel Modified Files: listpanel.cpp Log Message: ctrl-clicking opens a folder to the other panel Index: listpanel.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/listpanel.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** listpanel.cpp 19 Sep 2003 16:21:54 -0000 1.32 --- listpanel.cpp 22 Sep 2003 20:25:42 -0000 1.33 *************** *** 1,8 **** /*************************************************************************** ! listpanel.cpp ! ------------------- ! copyright : (C) 2000 by Shie Erlich & Rafi Yanai ! e-mail : kru...@us... ! web site : http://krusader.sourceforge.net --------------------------------------------------------------------------- Description --- 1,8 ---- /*************************************************************************** ! listpanel.cpp ! ------------------- ! copyright : (C) 2000 by Shie Erlich & Rafi Yanai ! e-mail : kru...@us... ! web site : http://krusader.sourceforge.net --------------------------------------------------------------------------- Description *************** *** 11,22 **** A ! db dD d8888b. db db .d8888. .d8b. d8888b. d88888b d8888b. ! 88 ,8P' 88 `8D 88 88 88' YP d8' `8b 88 `8D 88' 88 `8D ! 88,8P 88oobY' 88 88 `8bo. 88ooo88 88 88 88ooooo 88oobY' ! 88`8b 88`8b 88 88 `Y8b. 88~~~88 88 88 88~~~~~ 88`8b ! 88 `88. 88 `88. 88b d88 db 8D 88 88 88 .8D 88. 88 `88. ! YP YD 88 YD ~Y8888P' `8888Y' YP YP Y8888D' Y88888P 88 YD ! S o u r c e F i l e *************************************************************************** --- 11,22 ---- A ! db dD d8888b. db db .d8888. .d8b. d8888b. d88888b d8888b. ! 88 ,8P' 88 `8D 88 88 88' YP d8' `8b 88 `8D 88' 88 `8D ! 88,8P 88oobY' 88 88 `8bo. 88ooo88 88 88 88ooooo 88oobY' ! 88`8b 88`8b 88 88 `Y8b. 88~~~88 88 88 88~~~~~ 88`8b ! 88 `88. 88 `88. 88b d88 db 8D 88 88 88 .8D 88. 88 `88. ! YP YD 88 YD ~Y8888P' `8888Y' YP YP Y8888D' Y88888P 88 YD ! S o u r c e F i l e *************************************************************************** *************** *** 99,104 **** int sheight = QFontMetrics( status->font() ).height() + 4; status->setMaximumHeight( sheight ); ! QWhatsThis::add( status, i18n( "The status bar displays information about the FILESYSTEM which hold your current directory: Total size, free space, type of filesystem etc." ) ); ! connect( status, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); // ... create the bookmark list --- 99,105 ---- int sheight = QFontMetrics( status->font() ).height() + 4; status->setMaximumHeight( sheight ); ! QWhatsThis::add ! ( status, i18n( "The status bar displays information about the FILESYSTEM which hold your current directory: Total size, free space, type of ! filesystem etc." ) ); connect( status, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); // ... create the bookmark list *************** *** 106,112 **** connect( bookmarksButton, SIGNAL( pressed() ), this, SLOT( slotFocusOnMe() ) ); connect( bookmarksButton, SIGNAL( openUrl( const QString& ) ), func, SLOT( openUrl( const QString& ) ) ); ! QWhatsThis::add( bookmarksButton, i18n( "Open menu with bookmarks. You can also add " ! "current location to the list, edit bookmarks " ! "or add subfolder to the list." ) ); totals = new KrSqueezedTextLabel( this ); --- 107,114 ---- connect( bookmarksButton, SIGNAL( pressed() ), this, SLOT( slotFocusOnMe() ) ); connect( bookmarksButton, SIGNAL( openUrl( const QString& ) ), func, SLOT( openUrl( const QString& ) ) ); ! QWhatsThis::add ! ( bookmarksButton, i18n( "Open menu with bookmarks. You can also add " ! "current location to the list, edit bookmarks " ! "or add subfolder to the list." ) ); totals = new KrSqueezedTextLabel( this ); *************** *** 117,122 **** totals->setLineWidth( 1 ); // a nice 3D touch :-) totals->setMaximumHeight( sheight ); ! QWhatsThis::add( totals, i18n( "The totals bar shows how much files exist, " ! "how many did you select and the bytes math" ) ); connect( totals, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); --- 119,125 ---- totals->setLineWidth( 1 ); // a nice 3D touch :-) totals->setMaximumHeight( sheight ); ! QWhatsThis::add ! ( totals, i18n( "The totals bar shows how much files exist, " ! "how many did you select and the bytes math" ) ); connect( totals, SIGNAL( clicked() ), this, SLOT( slotFocusOnMe() ) ); *************** *** 129,138 **** origin = new KURLRequester( this ); ! QWhatsThis::add( origin, i18n( "Use superb KDE file dialog to choose location. " ) ); origin->setShowLocalProtocol( false ); origin->lineEdit() ->setURLDropsEnabled( true ); ! QWhatsThis::add( origin->lineEdit(), i18n( "Name of directory where you are. You can also " ! "enter name of desired location to move there. " ! "Use of Net protocols like ftp or fish is possible." ) ); origin->setMode( KFile::Directory | KFile::ExistingOnly ); connect( origin, SIGNAL( returnPressed( const QString& ) ), func, SLOT( openUrl( const QString& ) ) ); --- 132,143 ---- origin = new KURLRequester( this ); ! QWhatsThis::add ! ( origin, i18n( "Use superb KDE file dialog to choose location. " ) ); origin->setShowLocalProtocol( false ); origin->lineEdit() ->setURLDropsEnabled( true ); ! QWhatsThis::add ! ( origin->lineEdit(), i18n( "Name of directory where you are. You can also " ! "enter name of desired location to move there. " ! "Use of Net protocols like ftp or fish is possible." ) ); origin->setMode( KFile::Directory | KFile::ExistingOnly ); connect( origin, SIGNAL( returnPressed( const QString& ) ), func, SLOT( openUrl( const QString& ) ) ); *************** *** 158,162 **** layout->addWidget( bookmarksButton, 1, 1 ); layout->addMultiCellWidget( dynamic_cast<KrDetailedView*>( view ) ->widget(), 2, 2, 0, 1 ); ! layout->addMultiCellWidget( quickSearch, 3, 3, 0, 1 ); quickSearch->hide(); layout->addMultiCellWidget( totals, 4, 4, 0, 1 ); --- 163,168 ---- layout->addWidget( bookmarksButton, 1, 1 ); layout->addMultiCellWidget( dynamic_cast<KrDetailedView*>( view ) ->widget(), 2, 2, 0, 1 ); ! layout->addMultiCellWidget( quickSearch, 3, 3, 0, 1 ); ! quickSearch->hide(); layout->addMultiCellWidget( totals, 4, 4, 0, 1 ); *************** *** 170,181 **** void ListPanel::select( bool select, bool all ) { if ( all ) ! if ( select ) view->select( QString( "*" ) ); ! else view->unselect( QString( "*" ) ); else { QString answer = KRSpWidgets::getMask( ( select ? i18n( " Select Files " ) : i18n( " Unselect Files " ) ) ); // if the user canceled - quit ! if ( answer == QString::null ) return ; ! if ( select ) view->select( answer ); ! else view->unselect( answer ); } } --- 176,192 ---- void ListPanel::select( bool select, bool all ) { if ( all ) ! if ( select ) ! view->select( QString( "*" ) ); ! else ! view->unselect( QString( "*" ) ); else { QString answer = KRSpWidgets::getMask( ( select ? i18n( " Select Files " ) : i18n( " Unselect Files " ) ) ); // if the user canceled - quit ! if ( answer == QString::null ) ! return ; ! if ( select ) ! view->select( answer ); ! else ! view->unselect( answer ); } } *************** *** 215,239 **** // this is used to start the panel, AFTER setOther() has been used ////////////////////////////////////////////////////////////////// ! void ListPanel::start(QString path) { bool left = _left; krConfig->setGroup( "Startup" ); // set the startup path ! if (path != QString::null) { virtualPath = path; } else ! if ( left ) { ! if ( krConfig->readEntry( "Left Panel Origin", _LeftPanelOrigin ) == i18n( "homepage" ) ) ! virtualPath = krConfig->readEntry( "Left Panel Homepage", _LeftHomepage ); ! else if ( krConfig->readEntry( "Left Panel Origin" ) == i18n( "the last place it was" ) ) ! virtualPath = krConfig->readEntry( "lastHomeLeft", "/" ); ! else virtualPath = getcwd( 0, 0 ); //get_current_dir_name(); ! } else { // right ! if ( krConfig->readEntry( "Right Panel Origin", _RightPanelOrigin ) == i18n( "homepage" ) ) ! virtualPath = krConfig->readEntry( "Right Panel Homepage", _RightHomepage ); ! else if ( krConfig->readEntry( "Right Panel Origin" ) == i18n( "the last place it was" ) ) ! virtualPath = krConfig->readEntry( "lastHomeRight", "/" ); ! else virtualPath = getcwd( 0, 0 ); ! } realPath = virtualPath; --- 226,252 ---- // this is used to start the panel, AFTER setOther() has been used ////////////////////////////////////////////////////////////////// ! void ListPanel::start( QString path ) { bool left = _left; krConfig->setGroup( "Startup" ); // set the startup path ! if ( path != QString::null ) { virtualPath = path; } else ! if ( left ) { ! if ( krConfig->readEntry( "Left Panel Origin", _LeftPanelOrigin ) == i18n( "homepage" ) ) ! virtualPath = krConfig->readEntry( "Left Panel Homepage", _LeftHomepage ); ! else if ( krConfig->readEntry( "Left Panel Origin" ) == i18n( "the last place it was" ) ) ! virtualPath = krConfig->readEntry( "lastHomeLeft", "/" ); ! else ! virtualPath = getcwd( 0, 0 ); //get_current_dir_name(); ! } else { // right ! if ( krConfig->readEntry( "Right Panel Origin", _RightPanelOrigin ) == i18n( "homepage" ) ) ! virtualPath = krConfig->readEntry( "Right Panel Homepage", _RightHomepage ); ! else if ( krConfig->readEntry( "Right Panel Origin" ) == i18n( "the last place it was" ) ) ! virtualPath = krConfig->readEntry( "lastHomeRight", "/" ); ! else ! virtualPath = getcwd( 0, 0 ); ! } realPath = virtualPath; *************** *** 249,253 **** } ! while ( func->inRefresh ) ; // wait until the last refresh finish func->inRefresh = true; // make sure the next refresh wait for this one krApp->setCursor( KCursor::workingCursor() ); --- 262,267 ---- } ! while ( func->inRefresh ) ! ; // wait until the last refresh finish func->inRefresh = true; // make sure the next refresh wait for this one krApp->setCursor( KCursor::workingCursor() ); *************** *** 259,263 **** realPath = virtualPath; this->origin->setURL( virtualPath ); ! emit pathChanged(this); emit cmdLineUpdate( realPath ); // update the command line } --- 273,277 ---- realPath = virtualPath; this->origin->setURL( virtualPath ); ! emit pathChanged( this ); emit cmdLineUpdate( realPath ); // update the command line } *************** *** 281,285 **** origin.find( '/', origin.find( ":/" ) + 3 ) == -1 ) ) { view->addItems( func->files() ); ! } else view->addItems( func->files(), false ); func->inRefresh = false; --- 295,300 ---- origin.find( '/', origin.find( ":/" ) + 3 ) == -1 ) ) { view->addItems( func->files() ); ! } else ! view->addItems( func->files(), false ); func->inRefresh = false; *************** *** 309,313 **** void ListPanel::gotStats( QString data ) { status->setText( data ); ! if ( statsAgent ) delete statsAgent; } --- 324,329 ---- void ListPanel::gotStats( QString data ) { status->setText( data ); ! if ( statsAgent ) ! delete statsAgent; } *************** *** 323,328 **** KrViewItem *i = view->getKrViewItemAt( e->pos() ); ! if ( e->source() == otherPanel ) dragFromOtherPanel = true; ! if ( e->source() == this ) dragFromThisPanel = true; if ( i ) { --- 339,346 ---- KrViewItem *i = view->getKrViewItemAt( e->pos() ); ! if ( e->source() == otherPanel ) ! dragFromOtherPanel = true; ! if ( e->source() == this ) ! dragFromThisPanel = true; if ( i ) { *************** *** 330,336 **** if ( !file ) { // trying to drop on the ".." ! if ( virtualPath.right( 1 ) == "\\" ) // root of archive.. isWritable = false; ! else copyToDirInPanel = true; } else { if ( file->vfile_isDir() ) { --- 348,355 ---- if ( !file ) { // trying to drop on the ".." ! if ( virtualPath.right( 1 ) == "\\" ) // root of archive.. isWritable = false; ! else ! copyToDirInPanel = true; } else { if ( file->vfile_isDir() ) { *************** *** 342,346 **** } } else ! if ( e->source() == this ) return ; // no dragging onto ourselves } } else // if dragged from this panel onto an empty spot in the panel... --- 361,366 ---- } } else ! if ( e->source() == this ) ! return ; // no dragging onto ourselves } } else // if dragged from this panel onto an empty spot in the panel... *************** *** 375,379 **** QPopupMenu popup( this ); popup.insertItem( i18n( "Copy Here" ), 1 ); ! if ( func->files() ->vfs_isWritable() ) popup.insertItem( i18n( "Move Here" ), 2 ); if ( func->files() ->vfs_getType() == "normal" && otherPanel->func->files() ->vfs_getType() == "normal" ) --- 395,400 ---- QPopupMenu popup( this ); popup.insertItem( i18n( "Copy Here" ), 1 ); ! if ( func->files() ->vfs_isWritable() ) ! popup.insertItem( i18n( "Move Here" ), 2 ); if ( func->files() ->vfs_getType() == "normal" && otherPanel->func->files() ->vfs_getType() == "normal" ) *************** *** 392,396 **** mode = KIO::CopyJob::Link; break; ! case - 1 : // user pressed outside the menu case 4: return ; // cancel was pressed; --- 413,417 ---- mode = KIO::CopyJob::Link; break; ! case - 1 : // user pressed outside the menu case 4: return ; // cancel was pressed; *************** *** 451,456 **** KrViewItemList items; view->getSelectedKrViewItems( &items ); ! if ( items.empty() ) return ; ! if ( items.size() > 1 ) multipleSelections = true; KrViewItem *item = items.first(); // create the menu --- 472,479 ---- KrViewItemList items; view->getSelectedKrViewItems( &items ); ! if ( items.empty() ) ! return ; ! if ( items.size() > 1 ) ! multipleSelections = true; KrViewItem *item = items.first(); // create the menu *************** *** 459,463 **** popup.insertItem( "Open/Run", OPEN_ID ); // create the open option if ( !multipleSelections ) { // meaningful only if one file is selected ! popup.changeItem( OPEN_ID, item->icon(), // and add pixmap i18n( ( item->isExecutable() ) && ( !item->isDir() ) ? "Run" : "Open" ) ); popup.insertSeparator(); --- 482,486 ---- popup.insertItem( "Open/Run", OPEN_ID ); // create the open option if ( !multipleSelections ) { // meaningful only if one file is selected ! popup.changeItem( OPEN_ID, item->icon(), // and add pixmap i18n( ( item->isExecutable() ) && ( !item->isDir() ) ? "Run" : "Open" ) ); popup.insertSeparator(); *************** *** 480,485 **** QString mime = item->mime(); // check if all the list have the same mimetype ! for(unsigned int i=1; i<items.size(); ++i){ ! if( (*items.at(i))->mime() != mime ){ mime = QString::null; break; --- 503,508 ---- QString mime = item->mime(); // check if all the list have the same mimetype ! for ( unsigned int i = 1; i < items.size(); ++i ) { ! if ( ( *items.at( i ) ) ->mime() != mime ) { mime = QString::null; break; *************** *** 490,494 **** for ( unsigned int i = 0; i < offers.count(); ++i ) { KService::Ptr service = offers[ i ].service(); ! if ( service->isValid() && service->type()=="Application" ) { openWith.insertItem( service->name(), SERVICE_LIST_ID + i ); openWith.changeItem( SERVICE_LIST_ID + i, service->pixmap( KIcon::Small ), service->name() ); --- 513,517 ---- for ( unsigned int i = 0; i < offers.count(); ++i ) { KService::Ptr service = offers[ i ].service(); ! if ( service->isValid() && service->type() == "Application" ) { openWith.insertItem( service->name(), SERVICE_LIST_ID + i ); openWith.changeItem( SERVICE_LIST_ID + i, service->pixmap( KIcon::Small ), service->name() ); *************** *** 554,559 **** switch ( result ) { ! case - 1 : return ; // the user clicked outside of the menu ! case OPEN_ID : // Open/Run for ( KrViewItemList::Iterator it = items.begin(); it != items.end(); ++it ) { u.setPath( func->files() ->vfs_getFile( ( *it ) ->name() ) ); --- 577,583 ---- switch ( result ) { ! case - 1 : ! return ; // the user clicked outside of the menu ! case OPEN_ID : // Open/Run for ( KrViewItemList::Iterator it = items.begin(); it != items.end(); ++it ) { u.setPath( func->files() ->vfs_getFile( ( *it ) ->name() ) ); *************** *** 583,590 **** KShred::shred( func->files() ->vfs_getFile( item->name() ) ); break; ! case OPEN_KONQ_ID : // open in konqueror kapp->startServiceByDesktopName( "konqueror", func->files() ->vfs_getFile( item->name() ) ); break; ! case CHOOSE_ID : // Other... u.setPath( func->files() ->vfs_getFile( item->name() ) ); lst.append( u ); --- 607,614 ---- KShred::shred( func->files() ->vfs_getFile( item->name() ) ); break; ! case OPEN_KONQ_ID : // open in konqueror kapp->startServiceByDesktopName( "konqueror", func->files() ->vfs_getFile( item->name() ) ); break; ! case CHOOSE_ID : // Other... u.setPath( func->files() ->vfs_getFile( item->name() ) ); lst.append( u ); *************** *** 609,613 **** SLOTS->sendFileByEmail( func->files() ->vfs_getFile( item->name() ) ); break; ! case OPEN_TERM_ID : // open in terminal QString save = getcwd( 0, 0 ); chdir( func->files() ->vfs_getFile( item->name() ).local8Bit() ); --- 633,637 ---- SLOTS->sendFileByEmail( func->files() ->vfs_getFile( item->name() ) ); break; ! case OPEN_TERM_ID : // open in terminal QString save = getcwd( 0, 0 ); chdir( func->files() ->vfs_getFile( item->name() ).local8Bit() ); *************** *** 616,620 **** QString term = krConfig->readEntry( "Terminal", _Terminal ); proc << term; ! if ( !item->isDir() ) proc << "-e" << item->name(); if ( !proc.start( KProcess::DontCare ) ) KMessageBox::sorry( krApp, i18n( "Can't open " ) + "\"" + term + "\"" ); --- 640,645 ---- QString term = krConfig->readEntry( "Terminal", _Terminal ); proc << term; ! if ( !item->isDir() ) ! proc << "-e" << item->name(); if ( !proc.start( KProcess::DontCare ) ) KMessageBox::sorry( krApp, i18n( "Can't open " ) + "\"" + term + "\"" ); *************** *** 625,630 **** QStringList names; getSelectedNames( &names ); ! KRun::run( *(offers[result-SERVICE_LIST_ID].service()), ! *(func->files()->vfs_getFiles(&names)) ); } } --- 650,655 ---- QStringList names; getSelectedNames( &names ); ! KRun::run( *( offers[ result - SERVICE_LIST_ID ].service() ), ! *( func->files() ->vfs_getFiles( &names ) ) ); } } *************** *** 632,645 **** void ListPanel::setFilter( FilterSpec f ) { switch ( f ) { ! case ALL : filter = ALL; break; ! case EXEC: filter = EXEC; break; ! case CUSTOM : filterMask = KRSpWidgets::getMask( i18n( " Select Files " ) ); // if the user canceled - quit ! if ( filterMask == QString::null ) return ; filter = CUSTOM; break; ! default: return ; } func->refresh(); --- 657,675 ---- void ListPanel::setFilter( FilterSpec f ) { switch ( f ) { ! case ALL : ! filter = ALL; break; ! case EXEC: ! filter = EXEC; break; ! case CUSTOM : ! filterMask = KRSpWidgets::getMask( i18n( " Select Files " ) ); // if the user canceled - quit ! if ( filterMask == QString::null ) ! return ; filter = CUSTOM; break; ! default: ! return ; } func->refresh(); *************** *** 648,653 **** QString ListPanel::getCurrentName() { QString name = view->getCurrentItem(); ! if ( name != ".." ) return name; ! else return QString::null; } --- 678,685 ---- QString ListPanel::getCurrentName() { QString name = view->getCurrentItem(); ! if ( name != ".." ) ! return name; ! else ! return QString::null; } *************** *** 660,668 **** case Key_Right : case Key_Left : ! if ( e->state() == ControlButton ) { // user pressed CTRL+Right/Left - refresh other panel to the same path as this one ! otherPanel->func->openUrl( realPath ); slotFocusOnMe(); // return focus to us! return ; ! } else e->ignore(); case Key_Down : --- 692,710 ---- case Key_Right : case Key_Left : ! if ( e->state() == ControlButton ) { ! // user pressed CTRL+Right/Left - refresh other panel to the selected path if it's a ! // directory otherwise as this one ! QString newPath; ! if ( view->getCurrentKrViewItem() ->isDir() ) { ! newPath = func->files() ->vfs_getFile( view->getCurrentKrViewItem() ->name() ); ! } else { ! newPath = realPath; ! } ! otherPanel->func->openUrl( newPath ); ! slotFocusOnMe(); // return focus to us! return ; ! } else ! e->ignore(); case Key_Down : *************** *** 673,683 **** krApp->mainView->terminal_dock->setFocus(); return ; ! } else e->ignore(); default: // if we got this, it means that the view is not doing // the quick search thing, so send the characters to the commandline, if normal key ! if (e->state() == NoButton) ! krApp->mainView->cmdLine->addText( e->text() ); //e->ignore(); --- 715,726 ---- krApp->mainView->terminal_dock->setFocus(); return ; ! } else ! e->ignore(); default: // if we got this, it means that the view is not doing // the quick search thing, so send the characters to the commandline, if normal key ! if ( e->state() == NoButton ) ! krApp->mainView->cmdLine->addText( e->text() ); //e->ignore(); |
From: <ma...@us...> - 2003-09-22 20:16:17
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv17199/krusader Modified Files: main.cpp Log Message: Index: main.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/main.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** main.cpp 29 Aug 2003 23:20:30 -0000 1.17 --- main.cpp 22 Sep 2003 20:16:13 -0000 1.18 *************** *** 62,66 **** aboutData.addAuthor("Dirk Eschler", "Webmaster and i18n coordinator", "hom...@gm...", 0); aboutData.addAuthor("Jan Halasa", "Developer", "xh...@fi...", 0); ! aboutData.addCredit("Heiner Eichmann","FreeBSD port, patches and general help", "h.e...@gm...", 0); aboutData.addCredit("Mikolaj Machowski", "Usability and QA", "<mi...@wp...>", 0); aboutData.addCredit("Cristi Dumitrescu","QA, bug-hunting, patches and general help","cr...@ch...",0); --- 62,67 ---- aboutData.addAuthor("Dirk Eschler", "Webmaster and i18n coordinator", "hom...@gm...", 0); aboutData.addAuthor("Jan Halasa", "Developer", "xh...@fi...", 0); ! aboutData.addAuthor("Karai Csaba", "Developer", "ck...@us...", 0); ! aboutData.addCredit("Heiner Eichmann","The 6th Beatle: FreeBSD port, patches and general help", "h.e...@gm...", 0); aboutData.addCredit("Mikolaj Machowski", "Usability and QA", "<mi...@wp...>", 0); aboutData.addCredit("Cristi Dumitrescu","QA, bug-hunting, patches and general help","cr...@ch...",0); |
From: <ma...@us...> - 2003-09-22 19:39:54
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv8759/krusader Modified Files: krusader.cpp Log Message: disabled: remoteMan Index: krusader.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** krusader.cpp 20 Sep 2003 17:02:06 -0000 1.31 --- krusader.cpp 22 Sep 2003 19:39:44 -0000 1.32 *************** *** 350,355 **** actTest = new KAction( i18n( "&Test Archive(s)" ), "kr_arc_test", ALT + Key_T, SLOTS, SLOT( testArchive() ), actionCollection(), "test archives" ); ! actFTPConnect = new KAction( i18n( "&Net Connections" ), "socket", CTRL + Key_C, ! SLOTS, SLOT( runRemoteMan() ), actionCollection(), "ftp connect" ); actFTPNewConnect = new KAction( i18n( "New Net &Connection" ), "ftp", CTRL + Key_N, SLOTS, SLOT( newFTPconnection() ), actionCollection(), "ftp new connection" ); --- 350,355 ---- actTest = new KAction( i18n( "&Test Archive(s)" ), "kr_arc_test", ALT + Key_T, SLOTS, SLOT( testArchive() ), actionCollection(), "test archives" ); ! // actFTPConnect = new KAction( i18n( "&Net Connections" ), "socket", CTRL + Key_C, ! // SLOTS, SLOT( runRemoteMan() ), actionCollection(), "ftp connect" ); actFTPNewConnect = new KAction( i18n( "New Net &Connection" ), "ftp", CTRL + Key_N, SLOTS, SLOT( newFTPconnection() ), actionCollection(), "ftp new connection" ); |
From: <ma...@us...> - 2003-09-22 19:36:28
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv7995/krusader Modified Files: krusaderview.cpp panelmanager.cpp panelmanager.h paneltabbar.cpp paneltabbar.h Log Message: tabbed-browsing in beta state Index: krusaderview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusaderview.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** krusaderview.cpp 20 Sep 2003 11:25:22 -0000 1.10 --- krusaderview.cpp 22 Sep 2003 19:36:22 -0000 1.11 *************** *** 61,66 **** // add a panel manager for each side of the splitter ! leftMng = new PanelManager(horiz_splitter, true); ! rightMng = new PanelManager(horiz_splitter, false); // now, create the panels inside the manager --- 61,66 ---- // add a panel manager for each side of the splitter ! leftMng = new PanelManager(horiz_splitter, true, left, right, activePanel); ! rightMng = new PanelManager(horiz_splitter, false, right, left, activePanel); // now, create the panels inside the manager Index: panelmanager.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/panelmanager.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** panelmanager.cpp 19 Sep 2003 16:21:22 -0000 1.1 --- panelmanager.cpp 22 Sep 2003 19:36:22 -0000 1.2 *************** *** 1,29 **** #include <qwidgetstack.h> #include "panelmanager.h" #include "Panel/listpanel.h" - PanelManager::PanelManager(QWidget *parent, bool left): QWidget(parent), _layout(0), _left(left) { - _layout = new QVBoxLayout( this ); - _stack = new QWidgetStack(this); - _tabbar = new PanelTabBar(this); ! _layout->addWidget(_stack); ! _layout->addWidget(_tabbar); } ListPanel* PanelManager::createPanel() { // create the panel and add it into the widgetstack ! ListPanel *p = new ListPanel( _stack, _left ); ! _stack->raiseWidget(p); // now, create the corrosponding tab ! _tabbar->addPanel(p); return p; } ! void PanelManager::startPanel(ListPanel *panel, QString path) { ! // check if panel is ours!!! panel->start( path ); } --- 1,107 ---- #include <qwidgetstack.h> + #include <qtoolbutton.h> + #include <klocale.h> + #include <qimage.h> + #include <kdebug.h> + #include <kiconloader.h> #include "panelmanager.h" #include "Panel/listpanel.h" + #include "krusaderview.h" ! PanelManager::PanelManager( QWidget *parent, bool left, ListPanel* &self, ListPanel* &other, ListPanel* &active ) : ! QWidget( parent ), _layout( 0 ), _left( left ), _self( self ), _other( other ), _active( active ) { ! _layout = new QGridLayout( this, 1, 1 ); ! _stack = new QWidgetStack( this ); ! ! // new tab button ! _newTab = new QToolButton( this ); ! _newTab->setFixedSize( 22, 22 ); ! _newTab->setTextLabel( i18n( "Open a new tab in -home-" ) ); ! QImage im = krLoader->loadIcon( "favorites", KIcon::Panel ).convertToImage(); ! _newTab->setPixmap( im.scale( _newTab->height() - 5, _newTab->height() - 5 ) ); ! connect( _newTab, SIGNAL( clicked() ), this, SLOT( slotNewTab() ) ); ! ! // close tab button ! _closeTab = new QToolButton( this ); ! _closeTab->setFixedSize( 22, 22 ); ! _closeTab->setTextLabel( i18n( "Close current tab" ) ); ! im = krLoader->loadIcon( "cancel", KIcon::Panel ).convertToImage(); ! _closeTab->setPixmap( im.scale( _closeTab->height() - 5, _closeTab->height() - 5 ) ); ! connect( _closeTab, SIGNAL( clicked() ), this, SLOT( slotCloseTab() ) ); ! _closeTab->setEnabled( false ); // disabled when there's only 1 tab ! ! // tab-bar ! _tabbar = new PanelTabBar( this ); ! connect( _tabbar, SIGNAL( changePanel( ListPanel* ) ), this, SLOT( slotChangePanel( ListPanel * ) ) ); ! connect( _tabbar, SIGNAL( closeCurrentTab() ), this, SLOT( slotCloseTab() ) ); ! connect( _tabbar, SIGNAL( newTab(QString) ), this, SLOT( slotNewTab(QString) ) ); ! ! _layout->addMultiCellWidget( _stack, 0, 0, 0, 2 ); ! _layout->addWidget( _newTab, 1, 0 ); ! _layout->addWidget( _tabbar, 1, 1 ); ! _layout->addWidget( _closeTab, 1, 2 ); ! } ! ! void PanelManager::slotChangePanel( ListPanel *p ) { ! _self = p; ! _self->otherPanel = _other; ! _other->otherPanel = _self; ! ! _stack->raiseWidget( _self ); ! kapp->processEvents(); ! _self->slotFocusOnMe(); } ListPanel* PanelManager::createPanel() { // create the panel and add it into the widgetstack ! ListPanel * p = new ListPanel( _stack, _left ); ! _stack->addWidget( p ); ! // now, create the corrosponding tab ! _tabbar->addPanel( p ); + // allow close button if more than 1 tab + if ( _tabbar->count() > 1 ) + _closeTab->setEnabled( true ); + _stack->raiseWidget( p ); return p; } ! void PanelManager::startPanel( ListPanel *panel, QString path ) { panel->start( path ); } + + void PanelManager::slotNewTab() { + slotNewTab("~"); + } + + void PanelManager::slotNewTab(QString path) { + _self = createPanel(); + // update left/right pointers + _self->otherPanel = _other; + _other->otherPanel = _self; + + startPanel( _self, path ); + } + + void PanelManager::slotCloseTab() { + // setup current one + ListPanel * oldp; + _self = _tabbar->removeCurrentPanel( oldp ); + _stack->raiseWidget( _self ); + _stack->removeWidget( oldp ); + delete oldp; + + // setup pointers + _self->otherPanel = _other; + _other->otherPanel = _self; + _self->slotFocusOnMe(); + + // disable close button if only 1 tab is left + if ( _tabbar->count() == 1 ) + _closeTab->setEnabled( false ); + } + Index: panelmanager.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/panelmanager.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** panelmanager.h 19 Sep 2003 16:21:22 -0000 1.1 --- panelmanager.h 22 Sep 2003 19:36:22 -0000 1.2 *************** *** 8,25 **** class ListPanel; class QWidgetStack; class PanelManager: public QWidget { Q_OBJECT public: ! PanelManager( QWidget *parent, bool left ); ListPanel* createPanel(); void startPanel(ListPanel *panel, QString path); private: ! QVBoxLayout *_layout; bool _left; PanelTabBar *_tabbar; QWidgetStack *_stack; }; --- 8,50 ---- class ListPanel; class QWidgetStack; + class QToolButton; + /** + * Implements tabbed-browsing by managing a list of tabs and corrosponding panels. + */ class PanelManager: public QWidget { Q_OBJECT public: ! /** ! * PanelManager is created where once panels were created. It accepts three references to pointers ! * (self, other, active), which enables it to manage pointers held by the panels transparently. ! * It also receives a bool (left) which is true if the manager is the left one, or false otherwise. ! */ ! PanelManager( QWidget *parent, bool left, ListPanel* &self, ListPanel* &other, ListPanel* &active); ! /** ! * Called once by KrusaderView to create the first panel. Subsequent called are done internally ! * Note: only creates the panel, but doesn't start the VFS inside it. Use startPanel() for that. ! */ ListPanel* createPanel(); + /** + * Called once by KrusaderView to start the first panel. Subsequent called are done internally + * Only starts the VFS inside the panel, you must first use createPanel() ! + */ void startPanel(ListPanel *panel, QString path); + protected slots: + void slotNewTab(); + void slotNewTab(QString path); + void slotCloseTab(); + void slotChangePanel(ListPanel *p); + private: ! QGridLayout *_layout; bool _left; PanelTabBar *_tabbar; QWidgetStack *_stack; + QToolButton *_newTab, *_closeTab; + ListPanel *&_self, *&_other, *&_active; }; Index: paneltabbar.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/paneltabbar.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** paneltabbar.cpp 19 Sep 2003 16:21:22 -0000 1.1 --- paneltabbar.cpp 22 Sep 2003 19:36:22 -0000 1.2 *************** *** 26,29 **** --- 26,30 ---- #include <qwidgetstack.h> #include <qfontmetrics.h> + #include <kdebug.h> PanelTabBar::PanelTabBar(QWidget *parent): QTabBar(parent) { *************** *** 39,44 **** _closeAction->setEnabled(false); //can't close a single tab ! setShape(QTabBar::RoundedBelow); ! //addTab(new QTab("")); // ugly hack - don't remove if (HIDE_ON_SINGLE_TAB) hide(); --- 40,44 ---- _closeAction->setEnabled(false); //can't close a single tab ! setShape(QTabBar::TriangularBelow); if (HIDE_ON_SINGLE_TAB) hide(); *************** *** 53,56 **** --- 53,57 ---- // else implied setCurrentTab( clickedTab ); + emit changePanel(dynamic_cast<PanelTab*>(clickedTab)->panel); if ( e->button() == Qt::RightButton ) { *************** *** 62,85 **** // first, find the correct panel to load int id = currentTab(); ! ListPanel *listpanel = 0L; ! //QValueList<PanelTab>::Iterator it; ! //for (it = _panelTabs.begin(); it != _panelTabs.end(); ++it) { ! // if ((*it).id == id) { ! // listpanel = (*it).panel; ! // break; ! // } ! //} ! // now, check if we're on the left or right ! /*bool needSetFocus = ((_master->_self) != (_master->_active)); ! _master->_self = listpanel; ! _master->_stack->raiseWidget(_master->_self); ! _master->_self->setOther(_master->_other); ! _master->_other->setOther(_master->_self); ! _master->_active = _master->_self; ! ! kapp->processEvents(); ! if (needSetFocus) _master->_active->slotFocusOnMe();*/ } ! // QTabBar::mousePressEvent(e); } --- 63,70 ---- // first, find the correct panel to load int id = currentTab(); ! ListPanel *listpanel = dynamic_cast<PanelTab*>(tab(id))->panel; ! emit changePanel(listpanel); } ! QTabBar::mousePressEvent(e); } *************** *** 89,98 **** int PanelTabBar::addPanel(ListPanel *panel) { ! int h = QFontMetrics(font()).height()+2; ! int newId = addTab(new PanelTab(panel->virtualPath)); ! PanelTab *ptab= dynamic_cast<PanelTab*>(tab(newId)); ! ptab->rect().setHeight(3); ! ! ptab->panel = panel; layoutTabs(); --- 74,78 ---- int PanelTabBar::addPanel(ListPanel *panel) { ! int newId = addTab(new PanelTab(panel->virtualPath, panel)); layoutTabs(); *************** *** 102,173 **** if (count()>1) { _closeAction->setEnabled(true); ! show(); } ! connect(ptab->panel, SIGNAL(pathChanged(ListPanel*)), this, SLOT(updateTab(ListPanel*))); return newId; } void PanelTabBar::updateTab(ListPanel *panel) { // find which is the correct tab for (int i=0; i<count(); i++) { ! if (dynamic_cast<PanelTab*>(tab(i))->panel == panel) { ! tab(i)->setText(panel->virtualPath); break; } } - - //QValueList<PanelTab>::Iterator it; - //for (it = _panelTabs.begin(); it!=_panelTabs.end(); ++it) { - // if ( (*it).panel == panel ) { - // tab((*it).id)->setText(panel->virtualPath); - // break; - // } - //} - } void PanelTabBar::duplicateTab() { ! /* int id = currentTab(); ! ListPanel *listpanel; ! QValueList<PanelTab>::Iterator it; ! for (it = _panelTabs.begin(); it != _panelTabs.end(); ++it) { ! if ((*it).id == id) { ! listpanel = (*it).panel; ! break; ! } ! }*/ ! ! //SLOTS->newTab(listpanel->virtualPath); } void PanelTabBar::closeTab() { ! // find the panel to kill ! /* int id = currentTab(); ! ListPanel *listpanel = 0L; ! QValueList<PanelTab>::Iterator it; ! for (it = _panelTabs.begin(); it != _panelTabs.end(); ++it) { ! if ((*it).id == id) { ! listpanel = (*it).panel; ! _panelTabs.remove(it); // remove from the list of tabs ! break; ! } ! } ! // now, remove the panel and the tab ! /*bool needSetFocus = ((_master->_self) != (_master->_active)); ! removeTab(tab(id)); ! id = currentTab(); // get the NEW current tab ! _master->removePanel(listpanel, id); ! ! kapp->processEvents(); ! if (needSetFocus) { ! _master->_active = _master->_self; ! _master->_active->slotFocusOnMe(); ! } ! if (count()==1) { ! _closeAction->setEnabled(false); ! if (HIDE_ON_SINGLE_TAB) hide(); ! }*/ } --- 82,130 ---- if (count()>1) { _closeAction->setEnabled(true); ! show(); // todo-do we need this? } ! connect(dynamic_cast<PanelTab*>(tab(newId))->panel, SIGNAL(pathChanged(ListPanel*)), ! this, SLOT(updateTab(ListPanel*))); return newId; } + ListPanel* PanelTabBar::removeCurrentPanel(ListPanel* &panelToDelete) { + int id = currentTab(); + ListPanel *oldp = dynamic_cast<PanelTab*>(tab(id))->panel; // old panel to kill later + disconnect(dynamic_cast<PanelTab*>(tab(id))->panel); + removeTab(tab(id)); + layoutTabs(); + + // setup current one + id = currentTab(); + ListPanel *p = dynamic_cast<PanelTab*>(tab(id))->panel; + // disable close action? + if (count()==1) { + _closeAction->setEnabled(false); + } + + panelToDelete = oldp; + return p; + } + void PanelTabBar::updateTab(ListPanel *panel) { // find which is the correct tab for (int i=0; i<count(); i++) { ! if (dynamic_cast<PanelTab*>(tabAt(i))->panel == panel) { ! tabAt(i)->setText(panel->virtualPath); break; } } } void PanelTabBar::duplicateTab() { ! int id = currentTab(); ! emit newTab(dynamic_cast<PanelTab*>(tab(id))->panel->virtualPath); } void PanelTabBar::closeTab() { ! emit closeCurrentTab(); } *************** *** 175,178 **** --- 132,136 ---- PanelTab::PanelTab(const QString & text): QTab(text) {} + PanelTab::PanelTab(const QString & text, ListPanel *p): QTab(text), panel(p) {} #include "paneltabbar.moc" Index: paneltabbar.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/paneltabbar.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** paneltabbar.h 19 Sep 2003 16:21:22 -0000 1.1 --- paneltabbar.h 22 Sep 2003 19:36:22 -0000 1.2 *************** *** 25,52 **** class KActionMenu; class ListPanel; - class KrMasterPanel; class PanelTab: public QTab { public: PanelTab(const QString & text); ListPanel *panel; }; ! #define HIDE_ON_SINGLE_TAB true class PanelTabBar : public QTabBar { Q_OBJECT public: - //PanelTabBar( KrMasterPanel *_master, const char* name = 0 ); PanelTabBar( QWidget *parent ); - void insertAction( KAction* ); public slots: ! // this class doesn't really use these functions int addPanel(ListPanel *panel); void updateTab(ListPanel *panel); protected: void mousePressEvent( QMouseEvent* ); protected slots: --- 25,86 ---- class KActionMenu; class ListPanel; + /** + * Extends QTab to include a pointer to the panel contained in this tab + */ class PanelTab: public QTab { public: PanelTab(const QString & text); + PanelTab(const QString & text, ListPanel *p); + ListPanel *panel; }; ! #define HIDE_ON_SINGLE_TAB false + /** + * This class extends QTabBar such that right-clicking on a tab pops-up a menu + * containing relevant actions for the tab. It also emits signals (caught by PanelManager) + * to create a new tab, close the current tab and change a panel when a tab was clicked + */ class PanelTabBar : public QTabBar { Q_OBJECT public: PanelTabBar( QWidget *parent ); public slots: ! /** ! * called by PanelManager with an already created panel, and creates the corrosponding tab ! */ int addPanel(ListPanel *panel); + /** + * when the user changes the current path in a panel, this method updates the tab accordingly + */ void updateTab(ListPanel *panel); + /** + * actually removes the current tab WITHOUT actually deleting the panel. + * returns a pointer to the panel which is going to be displayed next. + * panelToDelete returns a reference to the pointer of the soon-to-die panel, to + * be used by PanelManager. + */ + ListPanel* removeCurrentPanel(ListPanel* &panelToDelete); // returns the panel focused after removing the current + + signals: + /** + * This signal is emitted when the user clicked on a tab. PanelManager should change panels accordingly + */ + void changePanel(ListPanel *p); + /** + * emitted when the user right-clicks and selected "close" + */ + void closeCurrentTab(); + /** + * emitted when the user right-clicks and selects an action that creates a new tab + */ + void newTab(QString path); protected: void mousePressEvent( QMouseEvent* ); + void insertAction( KAction* ); protected slots: *************** *** 55,61 **** private: - KrMasterPanel *_master; KActionMenu *_panelActionMenu; - //QValueList<PanelTab> _panelTabs; bool _left; KAction *_closeAction, *_newTabSame, *_newTabRoot; --- 89,93 ---- |
From: <ma...@us...> - 2003-09-22 19:34:43
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv7631 Modified Files: ChangeLog Krusader.kdevelop Log Message: tabbed-browsing in beta state Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** ChangeLog 22 Sep 2003 16:14:42 -0000 1.91 --- ChangeLog 22 Sep 2003 19:34:39 -0000 1.92 *************** *** 1,3 **** --- 1,4 ---- ====================== + ADDED: tabbed-browsing beta ---> memory leak? listpanel doesn't seem to be deleted (using top to check) FIXED: internal editor / viewer crash at invalid symlinks ADDED: SHIFT-F3 view dialog. Index: Krusader.kdevelop =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/Krusader.kdevelop,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Krusader.kdevelop 19 Sep 2003 16:20:06 -0000 1.14 --- Krusader.kdevelop 22 Sep 2003 19:34:39 -0000 1.15 *************** *** 97,101 **** <hidenonprojectfiles>false</hidenonprojectfiles> <hidepatterns></hidepatterns> ! <showvcsfields>true</showvcsfields> </tree> </kdevfileview> --- 97,101 ---- <hidenonprojectfiles>false</hidenonprojectfiles> <hidepatterns></hidepatterns> ! <showvcsfields>false</showvcsfields> </tree> </kdevfileview> |
From: <ma...@us...> - 2003-09-22 17:31:51
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv11357/krusader/Panel Modified Files: krdetailedview.h Log Message: removed TC-style rename for now Index: krdetailedview.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** krdetailedview.h 20 Sep 2003 16:07:33 -0000 1.14 --- krdetailedview.h 22 Sep 2003 17:31:47 -0000 1.15 *************** *** 69,73 **** void makeItemVisible( const KrViewItem *item ) { ensureItemVisible( dynamic_cast<const QListViewItem*>( item ) ); } void setCurrentItem( const QString& name ); - void renameTimerExpired( KrRenameTimerObject *object, QRect rect ); virtual void updateView() { triggerUpdate(); emit selectionChanged(); } virtual void clear(); --- 69,72 ---- *************** *** 119,155 **** ColumnType _columns[ MAX_COLUMNS ]; static QString ColumnName[ MAX_COLUMNS ]; - static QString LastSelectedItem; - static void * LastSelectingView; - static KrRenameTimerObject * WaitedTimer; bool _withIcons, _focused; KrViewItem *_currDragItem; QString _nameInKConfig; bool _left; - }; - - class KrRenameTimerObject : public QObject - { - Q_OBJECT - private: - KrDetailedView *detailed_view; - QRect rectangle; - - public: - KrRenameTimerObject( KrDetailedView *caller_view, QRect rect ) - { - detailed_view = caller_view; - rectangle = rect; - } - - void start( int msec ) - { - QTimer::singleShot( msec, this, SLOT( expired() ) ); - } - - public slots: - void expired() - { - detailed_view->renameTimerExpired( this, rectangle ); - } }; --- 118,125 ---- |
From: <ma...@us...> - 2003-09-22 17:31:37
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv11318/krusader/Panel Modified Files: krdetailedview.cpp Log Message: removed TC-style rename for now Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** krdetailedview.cpp 20 Sep 2003 16:07:33 -0000 1.39 --- krdetailedview.cpp 22 Sep 2003 17:31:33 -0000 1.40 *************** *** 79,86 **** i18n( "Owner" ), i18n( "Group" ) }; - QString KrDetailedView::LastSelectedItem = ""; - void * KrDetailedView::LastSelectingView; - KrRenameTimerObject * KrDetailedView::WaitedTimer = 0; - KrDetailedView::KrDetailedView( QWidget *parent, bool left, KConfig *cfg, const char *name ) : KListView( parent, name ), KrView( cfg ), _focused( false ), _currDragItem( 0L ), --- 79,82 ---- *************** *** 97,102 **** _columns[ i ] = Unused; - LastSelectedItem = ""; LastSelectingView = 0; WaitedTimer = 0; - /////////////////////////////// listview //////////////////////////////////// { // use the {} so that KConfigGroupSaver will work correctly! --- 93,96 ---- *************** *** 374,390 **** } - void KrDetailedView::renameTimerExpired( KrRenameTimerObject *object, QRect rect ) - { - delete object; - if( WaitedTimer == object ) - { - if( rect.contains( QCursor::pos() ) ) - { - LastSelectedItem = ""; LastSelectingView = 0; WaitedTimer = 0; - emit renameCurrentItem(); - } - } - } - void KrDetailedView::slotClicked( QListViewItem *item ) { if ( !item ) --- 368,371 ---- *************** *** 396,419 **** if ( _config->readBoolEntry( "Single Click Selects", _SingleClickSelects ) ) { emit executed( tmp ); - } else { - if( tmp == LastSelectedItem && (void *)this == LastSelectingView ) { - QRect itemRect = item->listView()->itemRect(item); - QPoint topLeft = item->listView()->viewport()->mapToGlobal( QPoint( 0, 0) ); - - itemRect.moveBy( topLeft.x(), topLeft.y() ); - - WaitedTimer = new KrRenameTimerObject( this, itemRect ); - WaitedTimer->start( 500 ); - } - else { - LastSelectedItem = tmp; - LastSelectingView = (void *)this; - WaitedTimer = 0; - } } } void KrDetailedView::slotDoubleClicked( QListViewItem *item ) { - LastSelectedItem = ""; LastSelectingView = 0; WaitedTimer = 0; KConfigGroupSaver grpSvr( _config, nameInKConfig() ); if ( !_config->readBoolEntry( "Single Click Selects", _SingleClickSelects ) ) { --- 377,384 ---- *************** *** 665,670 **** QString newName, fileName; - LastSelectedItem = ""; LastSelectingView = 0; WaitedTimer = 0; - KrViewItem *it = getCurrentKrViewItem(); if ( it ) --- 630,633 ---- *************** *** 743,747 **** void KrDetailedView::setNameToMakeCurrent( QListViewItem * it ) { - LastSelectedItem = ""; LastSelectingView = 0; WaitedTimer = 0; KrView::setNameToMakeCurrent( dynamic_cast<KrViewItem*>( it ) ->name() ); } --- 706,709 ---- |
From: <ck...@us...> - 2003-09-22 16:14:49
|
Update of /cvsroot/krusader/krusader_kde3/krusader/KViewer In directory sc8-pr-cvs1:/tmp/cvs-serv26234/krusader_kde3/krusader/KViewer Modified Files: krviewer.cpp krviewer.h Log Message: Internal editor / viewer crash at invalid symlinks Index: krviewer.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** krviewer.cpp 20 Sep 2003 20:17:44 -0000 1.10 --- krviewer.cpp 22 Sep 2003 16:14:42 -0000 1.11 *************** *** 135,139 **** if( !viewer->viewGeneric() ){ ! viewer->viewText(); viewer->viewerMenu->setItemEnabled(1,false); } --- 135,143 ---- if( !viewer->viewGeneric() ){ ! if( !viewer->viewText() ) ! { ! viewer->destroy(); ! return; ! } viewer->viewerMenu->setItemEnabled(1,false); } *************** *** 147,151 **** viewer->show(); ! viewer->editText(); } --- 151,159 ---- viewer->show(); ! if( !viewer->editText() ) ! { ! viewer->destroy(); ! return; ! } } *************** *** 187,196 **** } ! void KrViewer::editText(){ if( !editor_part ){ editor_part = static_cast<KParts::ReadWritePart*>(getPart(url,"text/plain",false)); manager.addPart(editor_part,this); } manager.setActivePart(editor_part); } --- 195,206 ---- } ! bool KrViewer::editText(){ if( !editor_part ){ editor_part = static_cast<KParts::ReadWritePart*>(getPart(url,"text/plain",false)); + if( !editor_part ) return false; manager.addPart(editor_part,this); } manager.setActivePart(editor_part); + return true; } *************** *** 220,229 **** } ! void KrViewer::viewText(){ if( !text_part ){ text_part = static_cast<KParts::ReadOnlyPart*>(getPart(url,"text/plain",true)); manager.addPart(text_part,this); } manager.setActivePart(text_part); } --- 230,241 ---- } ! bool KrViewer::viewText(){ if( !text_part ){ text_part = static_cast<KParts::ReadOnlyPart*>(getPart(url,"text/plain",true)); + if( !text_part ) return false; manager.addPart(text_part,this); } manager.setActivePart(text_part); + return true; } *************** *** 278,281 **** --- 290,294 ---- hex_part = static_cast<KParts::ReadOnlyPart*>(getPart(tmpFile.name(),"text/plain",true)); + if( !hex_part ) return; manager.addPart(hex_part,this); } Index: krviewer.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** krviewer.h 20 Sep 2003 20:17:44 -0000 1.3 --- krviewer.h 22 Sep 2003 16:14:42 -0000 1.4 *************** *** 42,49 **** bool viewGeneric(); void viewHex(); ! void viewText(); bool editGeneric(QString mimetype, KURL _url); ! void editText(); void keyPressEvent(QKeyEvent *e); --- 42,49 ---- bool viewGeneric(); void viewHex(); ! bool viewText(); bool editGeneric(QString mimetype, KURL _url); ! bool editText(); void keyPressEvent(QKeyEvent *e); |
From: <ck...@us...> - 2003-09-22 16:14:49
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv26234/krusader_kde3 Modified Files: ChangeLog Log Message: Internal editor / viewer crash at invalid symlinks Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** ChangeLog 20 Sep 2003 20:15:11 -0000 1.90 --- ChangeLog 22 Sep 2003 16:14:42 -0000 1.91 *************** *** 1,3 **** --- 1,4 ---- ====================== + FIXED: internal editor / viewer crash at invalid symlinks ADDED: SHIFT-F3 view dialog. ADDED: The internal viewer follow links on HTML pages. |
From: <ya...@us...> - 2003-09-20 20:19:00
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv9955 Modified Files: krusader.kdevprj Log Message: Link with KHTML library. Index: krusader.kdevprj =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader.kdevprj,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** krusader.kdevprj 20 Sep 2003 13:46:36 -0000 1.27 --- krusader.kdevprj 20 Sep 2003 20:18:56 -0000 1.28 *************** *** 23,28 **** cppflags=-DKDE_NO_COMPAT -D__USE_FILE_OFFSET64 -D_LFS64_LARGEFILE cxxflags=\s-O0 -Wall ! ldadd=VFS/libVFS.a KViewer/libKViewer.a Dialogs/libDialogs.a BookMan/libBookMan.a -lm $(LIB_KPARTS) $(LIB_KFILE) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) ! ldflags=\s \s [General] --- 23,28 ---- cppflags=-DKDE_NO_COMPAT -D__USE_FILE_OFFSET64 -D_LFS64_LARGEFILE cxxflags=\s-O0 -Wall ! ldadd=VFS/libVFS.a KViewer/libKViewer.a Dialogs/libDialogs.a BookMan/libBookMan.a $(LIB_KPARTS) $(LIB_KFILE) $(LIB_KHTML) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) ! ldflags=\s \s [General] |
From: <ya...@us...> - 2003-09-20 20:19:00
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv9955/krusader Modified Files: Makefile.am Log Message: Link with KHTML library. Index: Makefile.am =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.am 19 Sep 2003 22:35:32 -0000 1.7 --- Makefile.am 20 Sep 2003 20:18:56 -0000 1.8 *************** *** 5,9 **** krusader_SOURCES = paneltabbar.cpp panelmanager.cpp krservices.cpp main.cpp krusaderview.cpp krusader.cpp krslots.cpp kicons.cpp ! krusader_LDADD = ./BookMan/libBookMan.a ./Dialogs/libDialogs.a ./GUI/libGUI.a ./Konfigurator/libKonfigurator.a ./KViewer/libKViewer.a ./MountMan/libMountMan.a ./Panel/libPanel.a ./RemoteMan/libRemoteMan.a ./VFS/libVFS.a ./Search/libSearch.a VFS/libVFS.a KViewer/libKViewer.a Dialogs/libDialogs.a BookMan/libBookMan.a -lm $(LIB_KPARTS) $(LIB_KFILE) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET) SUBDIRS = BookMan Dialogs GUI Konfigurator KViewer MountMan Panel RemoteMan VFS Search --- 5,9 ---- krusader_SOURCES = paneltabbar.cpp panelmanager.cpp krservices.cpp main.cpp krusaderview.cpp krusader.cpp krslots.cpp kicons.cpp ! krusader_LDADD = ./BookMan/libBookMan.a ./Dialogs/libDialogs.a ./GUI/libGUI.a ./Konfigurator/libKonfigurator.a ./KViewer/libKViewer.a ./MountMan/libMountMan.a ./Panel/libPanel.a ./RemoteMan/libRemoteMan.a ./VFS/libVFS.a ./Search/libSearch.a VFS/libVFS.a KViewer/libKViewer.a Dialogs/libDialogs.a BookMan/libBookMan.a $(LIB_KPARTS) $(LIB_KFILE) $(LIB_KHTML) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET) SUBDIRS = BookMan Dialogs GUI Konfigurator KViewer MountMan Panel RemoteMan VFS Search |
From: <ya...@us...> - 2003-09-20 20:17:48
|
Update of /cvsroot/krusader/krusader_kde3/krusader/KViewer In directory sc8-pr-cvs1:/tmp/cvs-serv9732/krusader/KViewer Modified Files: krviewer.cpp krviewer.h Log Message: Follow links on HTML pages and force html mimetype for man pages Index: krviewer.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** krviewer.cpp 20 Sep 2003 17:04:56 -0000 1.9 --- krviewer.cpp 20 Sep 2003 20:17:44 -0000 1.10 *************** *** 32,35 **** --- 32,36 ---- #include <kdebug.h> #include <klargefile.h> + #include <khtml_part.h> // Krusader includes #include "krviewer.h" *************** *** 127,131 **** void KrViewer::view(KURL url){ - //QString mimetype = KMimeType::findByURL( url )->name(); KrViewer* viewer = new KrViewer(krApp); --- 128,131 ---- *************** *** 197,207 **** bool KrViewer::viewGeneric(){ QString mimetype = KMimeType::findByURL( url )->name(); if( mimetype == "text/plain" ) viewerMenu->setItemEnabled(1,false); if( !generic_part ){ ! generic_part = static_cast<KParts::ReadOnlyPart*>(getPart(url,mimetype,true)); ! if( generic_part ) manager.addPart(generic_part,this); ! else return false; } --- 197,217 ---- bool KrViewer::viewGeneric(){ QString mimetype = KMimeType::findByURL( url )->name(); + if( url.prettyURL().startsWith("man:") ) mimetype = "text/html"; if( mimetype == "text/plain" ) viewerMenu->setItemEnabled(1,false); if( !generic_part ){ ! if( mimetype.contains("html") ){ ! KHTMLPart* p = new KHTMLPart(this,0,0,0,KHTMLPart::BrowserViewGUI); ! connect(p->browserExtension(), SIGNAL(openURLRequest(const KURL &, const KParts::URLArgs &)), ! this,SLOT(handleOpenURLRequest(const KURL &,const KParts::URLArgs & ))); ! ! p-> openURL(url); ! generic_part = p; ! } else { ! generic_part = static_cast<KParts::ReadOnlyPart*>(getPart(url,mimetype,true)); ! } ! if( generic_part ) manager.addPart(generic_part,this); ! else return false; } *************** *** 271,273 **** --- 281,288 ---- } manager.setActivePart(hex_part); + } + + void KrViewer::handleOpenURLRequest( const KURL &url, const KParts::URLArgs & ){ + if(generic_part) generic_part->openURL(url); + } Index: krviewer.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** krviewer.h 29 Oct 2002 19:49:24 -0000 1.2 --- krviewer.h 20 Sep 2003 20:17:44 -0000 1.3 *************** *** 23,26 **** --- 23,27 ---- #include <ktempfile.h> #include <kparts/partmanager.h> + #include <kparts/browserextension.h> /** *************** *** 48,51 **** --- 49,54 ---- void keyPressEvent(QKeyEvent *e); void createGUI(KParts::Part*); + + void handleOpenURLRequest( const KURL &url, const KParts::URLArgs & ); private: KrViewer(QWidget *parent=0, const char *name=0); |
From: <ya...@us...> - 2003-09-20 20:15:15
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv9047 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.89 retrieving revision 1.90 diff -C2 -d -r1.89 -r1.90 *** ChangeLog 20 Sep 2003 12:17:54 -0000 1.89 --- ChangeLog 20 Sep 2003 20:15:11 -0000 1.90 *************** *** 1,9 **** ====================== ADDED: Total Commander like file renaming (two subsequent single clicks on an item) - FIXED: crash when editing a file with # in the filename - FIXED: inplace renaming bug with extention when pressing ctrl+click ADDED: panel swapping by Ctrl+U - FIXED: run-in-terminal would cause the terminal to close prematuraly and results would be lost. - FIXED: free disk capacity miscalculation for Ext2 and Ext3 file systems. ADDED: command line improvments: ctrl+/ opens history list, up&down keys work again, and general usability ADDED: krusader can now be started from commandline with new options: --- 1,7 ---- ====================== + ADDED: SHIFT-F3 view dialog. + ADDED: The internal viewer follow links on HTML pages. ADDED: Total Commander like file renaming (two subsequent single clicks on an item) ADDED: panel swapping by Ctrl+U ADDED: command line improvments: ctrl+/ opens history list, up&down keys work again, and general usability ADDED: krusader can now be started from commandline with new options: *************** *** 16,19 **** --- 14,21 ---- ADDED: open with in the right click menu for multiple files with the same mimetype. ADDED: Patch by Heiner <h.eichmann_at_gmx.de> which adds a cancel button to the calculate space action. + FIXED: run-in-terminal would cause the terminal to close prematuraly and results would be lost. + FIXED: free disk capacity miscalculation for Ext2 and Ext3 file systems. + FIXED: crash when editing a file with # in the filename + FIXED: inplace renaming bug with extention when pressing ctrl+click FIXED: whenever the folder gets refreshed, the current file would be lost FIXED: problematic behavior when trying to SPACE a folder without permissions *************** *** 28,31 **** --- 30,35 ---- FIXED: crash when viewing files with # in their name. FIXED: compilation problem with GCC >= 3.3 (thanks to Adios) + FIXED: Force refresh when creating a new directory. + FIXED: a crash when trying to repaint when the VFS was deleted. REMOVED: Device Manager action UPDATED: many usability issues (thanks to Mikolaj) |