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: <ma...@us...> - 2003-09-13 11:28:33
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv5519/krusader Modified Files: krusader.cpp Log Message: cmdline imporvements Index: krusader.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** krusader.cpp 11 Sep 2003 22:05:40 -0000 1.28 --- krusader.cpp 13 Sep 2003 11:28:30 -0000 1.29 *************** *** 104,107 **** --- 104,108 ---- KAction *Krusader::actOpenRightBm = 0; KAction *Krusader::actDirUp = 0; + KAction *Krusader::actCmdlinePopup = 0; KToggleAction *Krusader::actToggleTerminal = 0; *************** *** 306,310 **** //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" ); actShowToolBar = KStdAction::showToolbar( SLOTS, SLOT( toggleToolbar() ), actionCollection(), "std_toolbar" ); actShowStatusBar = KStdAction::showStatusbar( SLOTS, SLOT( toggleStatusbar() ), actionCollection(), "std_statusbar" ); --- 307,311 ---- //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" ); *************** *** 335,338 **** --- 336,341 ---- // and then the DONE actions + actCmdlinePopup = new KAction( i18n("popup cmdline"), 0, CTRL + Key_Slash, SLOTS, + SLOT(cmdlinePopup()), actionCollection(), "cmdline popup"); actDirUp = new KAction( i18n("Up"), "up", Key_Backspace, SLOTS, SLOT(dirUp()), actionCollection(), "dirUp"); |
From: <ma...@us...> - 2003-09-13 11:27:56
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv5411/krusader Modified Files: krusader.h Log Message: cmdline imporvements Index: krusader.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** krusader.h 11 Sep 2003 22:04:31 -0000 1.10 --- krusader.h 13 Sep 2003 11:27:53 -0000 1.11 *************** *** 93,97 **** KIconLoader *iconLoader; // the app's icon loader // Actions ! static KAction *actProperties, *actPack, *actUnpack, *actTest, *actCompare; static KAction *actCalculate, *actSelect, *actUnselect, *actSelectAll; static KAction *actUnselectAll, *actInvert, *actSync, *actSavePosition; --- 93,97 ---- KIconLoader *iconLoader; // the app's icon loader // Actions ! static KAction *actProperties, *actPack, *actUnpack, *actTest, *actCompare, *actCmdlinePopup; static KAction *actCalculate, *actSelect, *actUnselect, *actSelectAll; static KAction *actUnselectAll, *actInvert, *actSync, *actSavePosition; *************** *** 102,106 **** static KToggleAction *actToggleTerminal; KToggleAction *actToggleFnkeys, *actToggleCmdline, *actShowToolBar, ! *actShowStatusBar, *actToggleHidden, *actCompareDirs, *actToggleSortByExt; // return a path to a temp dir or file we can use. --- 102,106 ---- static KToggleAction *actToggleTerminal; KToggleAction *actToggleFnkeys, *actToggleCmdline, *actShowToolBar, ! *actShowStatusBar, *actToggleHidden, *actCompareDirs, *actToggleSortByExt; // return a path to a temp dir or file we can use. *************** *** 165,168 **** --- 165,169 ---- #define krOpenRightBm Krusader::App->actOpenRightBm // open left bookmarks #define krDirUp Krusader::App->actDirUp + #define krCmdlinePopup Krusader::App->actCmdlinePopup #endif |
From: <ma...@us...> - 2003-09-13 11:27:33
|
Update of /cvsroot/krusader/krusader_kde3/krusader/GUI In directory sc8-pr-cvs1:/tmp/cvs-serv5339/krusader/GUI Modified Files: kcmdline.h Log Message: cmdline imporvements Index: kcmdline.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/GUI/kcmdline.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** kcmdline.h 29 Aug 2003 21:57:32 -0000 1.5 --- kcmdline.h 13 Sep 2003 11:27:30 -0000 1.6 *************** *** 70,73 **** --- 70,74 ---- void slotRun(const QString &command1); void addText( QString text ) { cmdLine->setCurrentText( cmdLine->currentText() + text ); } + void popup() { cmdLine->popup(); } |
From: <ma...@us...> - 2003-09-13 11:26:02
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv5049 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** ChangeLog 11 Sep 2003 22:06:25 -0000 1.80 --- ChangeLog 13 Sep 2003 11:25:54 -0000 1.81 *************** *** 1,3 **** --- 1,4 ---- ====================== + 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: try: krusader --left=/mnt/cdrom --right=ftp://dow...@my... ! |
From: <ma...@us...> - 2003-09-13 11:25:46
|
Update of /cvsroot/krusader/krusader_kde3/krusader/GUI In directory sc8-pr-cvs1:/tmp/cvs-serv4973/krusader/GUI Modified Files: kcmdline.cpp Log Message: cmdline imporvements Index: kcmdline.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/GUI/kcmdline.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** kcmdline.cpp 29 Aug 2003 22:56:25 -0000 1.11 --- kcmdline.cpp 13 Sep 2003 11:25:14 -0000 1.12 *************** *** 80,85 **** cmdLine->setHistoryItems( list ); ! connect( cmdLine, SIGNAL( activated( const QString& ) ), this, SLOT( slotRun( const QString& ) ) ); ! connect( cmdLine, SIGNAL( activated(const QString &) ), cmdLine, SLOT( clearEdit() ) ); connect( cmdLine, SIGNAL( returnToPanel() ), this, SLOT( slotReturnFocus() )); --- 80,86 ---- cmdLine->setHistoryItems( list ); ! connect( cmdLine, SIGNAL( activated( const QString& ) ), this, SLOT( setEditText( const QString& ) ) ); ! connect( cmdLine, SIGNAL( returnPressed(const QString& ) ), this, SLOT( slotRun( const QString& ) ) ); ! connect( cmdLine, SIGNAL( returnPressed(const QString &) ), cmdLine, SLOT( clearEdit() ) ); connect( cmdLine, SIGNAL( returnToPanel() ), this, SLOT( slotReturnFocus() )); *************** *** 168,172 **** } default: ! QWidget::keyPressEvent(e); } } --- 169,173 ---- } default: ! KHistoryCombo::keyPressEvent(e); } } |
From: <ma...@us...> - 2003-09-13 09:52:38
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv19699/krusader/Panel Modified Files: krdetailedviewitem.cpp Log Message: fix: double-ftp crash, fixed via deep-copies Index: krdetailedviewitem.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedviewitem.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** krdetailedviewitem.cpp 27 Aug 2003 21:33:39 -0000 1.12 --- krdetailedviewitem.cpp 13 Sep 2003 09:52:33 -0000 1.13 *************** *** 46,50 **** KrDetailedViewItem::KrDetailedViewItem(KrDetailedView *parent, QListViewItem *after, vfile *vf): ! QObject(parent), KListViewItem(parent, after), KrViewItem(), _vf(vf), _view(parent) { repaintItem(); } --- 46,52 ---- KrDetailedViewItem::KrDetailedViewItem(KrDetailedView *parent, QListViewItem *after, vfile *vf): ! QObject(parent), KListViewItem(parent, after), KrViewItem(), _view(parent) { ! if (vf) _vf = new vfile(*vf); ! else _vf = 0L; repaintItem(); } |
From: <ma...@us...> - 2003-09-11 22:06:47
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv12684 Modified Files: Krusader.kdevelop Log Message: Index: Krusader.kdevelop =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/Krusader.kdevelop,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Krusader.kdevelop 16 Aug 2003 13:21:37 -0000 1.12 --- Krusader.kdevelop 11 Sep 2003 22:06:44 -0000 1.13 *************** *** 100,110 **** <kdevcvs> <cvsoptions>-f -z3</cvsoptions> ! <commitoptions></commitoptions> <updateoptions>-dP</updateoptions> ! <addoptions></addoptions> <removeoptions>-f</removeoptions> <diffoptions>-u3 -p</diffoptions> ! <logoptions></logoptions> ! <rshoptions></rshoptions> <revertoptions>-C -d -P</revertoptions> </kdevcvs> --- 100,110 ---- <kdevcvs> <cvsoptions>-f -z3</cvsoptions> ! <commitoptions/> <updateoptions>-dP</updateoptions> ! <addoptions/> <removeoptions>-f</removeoptions> <diffoptions>-u3 -p</diffoptions> ! <logoptions/> ! <rshoptions/> <revertoptions>-C -d -P</revertoptions> </kdevcvs> |
From: <ma...@us...> - 2003-09-11 22:06:28
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv12642 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** ChangeLog 11 Sep 2003 20:53:37 -0000 1.79 --- ChangeLog 11 Sep 2003 22:06:25 -0000 1.80 *************** *** 20,23 **** --- 20,24 ---- FIXED: bug when using space to calculate space of directory FIXED: crash when viewing files with # in their name. + REMOVED: Device Manager action UPDATED: many usability issues (thanks to Mikolaj) UPDATED: German translation |
From: <ma...@us...> - 2003-09-11 22:05:44
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv12513/krusader Modified Files: krusader.cpp Log Message: Index: krusader.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** krusader.cpp 29 Aug 2003 23:26:25 -0000 1.27 --- krusader.cpp 11 Sep 2003 22:05:40 -0000 1.28 *************** *** 82,86 **** KAction *Krusader::actUnselectAll = 0; KAction *Krusader::actInvert = 0; - KAction *Krusader::actSysInfo = 0; KAction *Krusader::actSync = 0; KAction *Krusader::actHomeTerminal = 0; --- 82,85 ---- *************** *** 378,383 **** actRoot = new KAction( i18n( "Root" ), "top", CTRL + Key_Backspace, SLOTS, SLOT( root() ), actionCollection(), "root" ); - actSysInfo = new KAction( i18n( "&Device Manager" ), "kr_hwinfo", 0, - SLOTS, SLOT( sysInfo() ), actionCollection(), "sysinfo" ); actSavePosition = new KAction( i18n( "Save &Position" ), 0, krApp, SLOT( savePosition() ), actionCollection(), "save position" ); --- 377,380 ---- |
From: <ma...@us...> - 2003-09-11 22:04:34
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv12261/krusader Modified Files: krusader.h Log Message: Index: krusader.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusader.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** krusader.h 16 Aug 2003 13:15:39 -0000 1.9 --- krusader.h 11 Sep 2003 22:04:31 -0000 1.10 *************** *** 95,99 **** static KAction *actProperties, *actPack, *actUnpack, *actTest, *actCompare; static KAction *actCalculate, *actSelect, *actUnselect, *actSelectAll; ! static KAction *actUnselectAll, *actInvert, *actSysInfo, *actSync, *actSavePosition; static KAction *actHomeTerminal, *actFTPConnect, *actFTPNewConnect, *actFTPDisconnect; static KAction *actExecFilter, *actCustomFilter, *actMountMan, *actNewTool; --- 95,99 ---- static KAction *actProperties, *actPack, *actUnpack, *actTest, *actCompare; static KAction *actCalculate, *actSelect, *actUnselect, *actSelectAll; ! static KAction *actUnselectAll, *actInvert, *actSync, *actSavePosition; static KAction *actHomeTerminal, *actFTPConnect, *actFTPNewConnect, *actFTPDisconnect; static KAction *actExecFilter, *actCustomFilter, *actMountMan, *actNewTool; *************** *** 143,147 **** #define krUnselectAll Krusader::App->actUnselectAll // remove all selections #define krInvert Krusader::App->actInvert // invert the selection - #define krSysInfo Krusader::App->actSysInfo // system information #define krSyncDirs Krusader::App->actSync // syncronize directories #define krHomeTerm Krusader::App->actHomeTerminal // open terminal@home dir --- 143,146 ---- |
From: <ma...@us...> - 2003-09-11 21:58:40
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv10994/krusader/Panel Modified Files: krdetailedviewitem.h Log Message: fixed: inline and virtual don't go together!!! Index: krdetailedviewitem.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedviewitem.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** krdetailedviewitem.h 26 Aug 2003 22:05:36 -0000 1.7 --- krdetailedviewitem.h 11 Sep 2003 21:58:35 -0000 1.8 *************** *** 49,64 **** QString name() const; QString description() const; // for status bar ! inline bool isDir() const { return (_vf ? _vf->vfile_isDir() : false); } ! inline bool isExecutable() const { return (_vf ? _vf->vfile_isExecutable() : false); } ! inline unsigned long size() const { return (_vf ? _vf->vfile_getSize() : 0); } QString dateTime() const; ! inline time_t getTime_t() const { return _vf->vfile_getTime_t(); } ! inline QString mime() const { return (_vf ? _vf->vfile_getMime() : QString::null); } ! inline QString symlinkDest() const { //return (_vf ? : _vf->vfile_getSymDest() : QString::null); if (_vf) return _vf->vfile_getSymDest(); else return QString::null; } ! inline bool isSymLink() const { return (_vf ? _vf->vfile_isSymLink() : false); } bool isSelected() const { return (_vf ? KListViewItem::isSelected() : false); } void setSelected(bool s) { KListViewItem::setSelected(s); } --- 49,64 ---- QString name() const; QString description() const; // for status bar ! bool isDir() const { return (_vf ? _vf->vfile_isDir() : false); } ! bool isExecutable() const { return (_vf ? _vf->vfile_isExecutable() : false); } ! unsigned long size() const { return (_vf ? _vf->vfile_getSize() : 0); } QString dateTime() const; ! time_t getTime_t() const { return _vf->vfile_getTime_t(); } ! QString mime() const { return (_vf ? _vf->vfile_getMime() : QString::null); } ! QString symlinkDest() const { //return (_vf ? : _vf->vfile_getSymDest() : QString::null); if (_vf) return _vf->vfile_getSymDest(); else return QString::null; } ! bool isSymLink() const { return (_vf ? _vf->vfile_isSymLink() : false); } bool isSelected() const { return (_vf ? KListViewItem::isSelected() : false); } void setSelected(bool s) { KListViewItem::setSelected(s); } |
From: <ma...@us...> - 2003-09-11 21:58:13
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv10919/krusader/Panel Modified Files: krdetailedview.h Log Message: fixed: inline and virtual don't go together!!! Index: krdetailedview.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** krdetailedview.h 11 Sep 2003 20:29:48 -0000 1.10 --- krdetailedview.h 11 Sep 2003 21:58:09 -0000 1.11 *************** *** 58,69 **** ~KrDetailedView(); virtual int column( ColumnType type ); ! inline KrViewItem *getFirst() { return dynamic_cast<KrViewItem*>( firstChild() ); } ! inline KrViewItem *getNext( KrViewItem *current ) { return dynamic_cast<KrViewItem*>( dynamic_cast<KListViewItem*>( current ) ->itemBelow() ); } ! inline KrViewItem *getPrev( KrViewItem *current ) { return dynamic_cast<KrViewItem*>( dynamic_cast<KListViewItem*>( current ) ->itemAbove() ); } ! inline KrViewItem *getCurrentKrViewItem() { return dynamic_cast<KrViewItem*>( currentItem() ); } virtual KrViewItem *getKrViewItemAt( const QPoint &vp ); virtual void addItems( vfs *v, bool addUpDir = true ); QString getCurrentItem() const; ! inline void makeItemVisible( const KrViewItem *item ) { ensureItemVisible( dynamic_cast<const QListViewItem*>( item ) ); } void setCurrentItem( const QString& name ); virtual void updateView() { triggerUpdate(); emit selectionChanged(); } --- 58,69 ---- ~KrDetailedView(); virtual int column( ColumnType type ); ! KrViewItem *getFirst() { return dynamic_cast<KrViewItem*>( firstChild() ); } ! KrViewItem *getNext( KrViewItem *current ) { return dynamic_cast<KrViewItem*>( dynamic_cast<KListViewItem*>( current ) ->itemBelow() ); } ! KrViewItem *getPrev( KrViewItem *current ) { return dynamic_cast<KrViewItem*>( dynamic_cast<KListViewItem*>( current ) ->itemAbove() ); } ! KrViewItem *getCurrentKrViewItem() { return dynamic_cast<KrViewItem*>( currentItem() ); } virtual KrViewItem *getKrViewItemAt( const QPoint &vp ); virtual void addItems( vfs *v, bool addUpDir = true ); QString getCurrentItem() const; ! void makeItemVisible( const KrViewItem *item ) { ensureItemVisible( dynamic_cast<const QListViewItem*>( item ) ); } void setCurrentItem( const QString& name ); virtual void updateView() { triggerUpdate(); emit selectionChanged(); } |
From: <ma...@us...> - 2003-09-11 21:01:44
|
Update of /cvsroot/krusader/krusader_kde3/krusader In directory sc8-pr-cvs1:/tmp/cvs-serv30629/krusader Modified Files: krusaderui.rc Log Message: removed "Device manager" action Index: krusaderui.rc =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/krusaderui.rc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** krusaderui.rc 16 Aug 2003 13:14:24 -0000 1.7 --- krusaderui.rc 11 Sep 2003 21:01:41 -0000 1.8 *************** *** 26,30 **** <text>&Commands</text> <Action name="find" /> - <Action name="sysinfo" /> <Action name="sync dirs" /> <Separator/> --- 26,29 ---- |
From: <ma...@us...> - 2003-09-11 20:53:40
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv28648 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** ChangeLog 11 Sep 2003 20:30:38 -0000 1.78 --- ChangeLog 11 Sep 2003 20:53:37 -0000 1.79 *************** *** 4,8 **** ADDED: new command line widget. should fix some issues and requests ADDED: Missing WhatsThis information (thanks to Mikolaj!) ! ADDED: new selection mode (a-la Total Commander) - beta mode! ADDED: a new shortcut for 'show hidden files' - ctrl+. (ctrl plus dot) ADDED: rar support to krArc KIO slave. --- 4,8 ---- ADDED: new command line widget. should fix some issues and requests ADDED: Missing WhatsThis information (thanks to Mikolaj!) ! ADDED: new selection mode (a-la Total Commander) - beta mode! Selected file is colored by the "link" color ADDED: a new shortcut for 'show hidden files' - ctrl+. (ctrl plus dot) ADDED: rar support to krArc KIO slave. |
From: <ma...@us...> - 2003-09-11 20:53:11
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv28555/krusader/Panel Modified Files: krdetailedview.cpp Log Message: Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** krdetailedview.cpp 11 Sep 2003 20:30:07 -0000 1.32 --- krdetailedview.cpp 11 Sep 2003 20:53:07 -0000 1.33 *************** *** 1,8 **** /*************************************************************************** ! krdetailedview.cpp ! ------------------- ! copyright : (C) 2000-2002 by Shie Erlich & Rafi Yanai ! e-mail : kru...@us... ! web site : http://krusader.sourceforge.net --------------------------------------------------------------------------- Description --- 1,8 ---- /*************************************************************************** ! krdetailedview.cpp ! ------------------- ! copyright : (C) 2000-2002 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 *************************************************************************** *************** *** 54,58 **** // // Ext Column ! #define _ExtColumn true // Mime Column #define _MimeColumn false --- 54,58 ---- // // Ext Column ! #define _ExtColumn true // Mime Column #define _MimeColumn false *************** *** 62,66 **** #define _DateTimeColumn true // Perm Column ! #define _PermColumn false // KrPerm Column #define _KrPermColumn true --- 62,66 ---- #define _DateTimeColumn true // Perm Column ! #define _PermColumn false // KrPerm Column #define _KrPermColumn true *************** *** 70,76 **** #define _GroupColumn false // Do Quicksearch ! #define _DoQuicksearch true // Classic Quicksearch ! #define _ClassicQuicksearch true ////////////////////////////////////////////////////////////////////////// --- 70,76 ---- #define _GroupColumn false // Do Quicksearch ! #define _DoQuicksearch true // Classic Quicksearch ! #define _ClassicQuicksearch true ////////////////////////////////////////////////////////////////////////// *************** *** 105,109 **** connect( this, SIGNAL( contextMenuRequested( QListViewItem*, const QPoint&, int ) ), this, SLOT( handleContextMenu( QListViewItem*, const QPoint&, int ) ) ); ! connect( this, SIGNAL( currentChanged( QListViewItem* )), this, SLOT( setNameToMakeCurrent( QListViewItem* ))); } --- 105,109 ---- connect( this, SIGNAL( contextMenuRequested( QListViewItem*, const QPoint&, int ) ), this, SLOT( handleContextMenu( QListViewItem*, const QPoint&, int ) ) ); ! connect( this, SIGNAL( currentChanged( QListViewItem* ) ), this, SLOT( setNameToMakeCurrent( QListViewItem* ) ) ); } *************** *** 175,185 **** dynamic_cast<ListPanel*>( parent ) ->func, SLOT( rename( const QString &, const QString & ) ) ); // connect quicksearch ! connect( dynamic_cast<ListPanel*>(parent)->quickSearch, SIGNAL(textChanged(const QString&)), ! this, SLOT(quickSearch(const QString&))); ! connect( dynamic_cast<ListPanel*>(parent)->quickSearch, SIGNAL(stop(QKeyEvent*)), ! this, SLOT(stopQuickSearch(QKeyEvent*))); ! setFocusPolicy(StrongFocus); restoreSettings(); } --- 175,185 ---- dynamic_cast<ListPanel*>( parent ) ->func, SLOT( rename( const QString &, const QString & ) ) ); // connect quicksearch ! connect( dynamic_cast<ListPanel*>( parent ) ->quickSearch, SIGNAL( textChanged( const QString& ) ), ! this, SLOT( quickSearch( const QString& ) ) ); ! connect( dynamic_cast<ListPanel*>( parent ) ->quickSearch, SIGNAL( stop( QKeyEvent* ) ), ! this, SLOT( stopQuickSearch( QKeyEvent* ) ) ); ! setFocusPolicy( StrongFocus ); restoreSettings(); } *************** *** 500,504 **** case Key_Right : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); break; } else { // just a normal click - do a lynx-like moving thing KrViewItem *i = getCurrentKrViewItem(); --- 500,505 ---- case Key_Right : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); ! break; } else { // just a normal click - do a lynx-like moving thing KrViewItem *i = getCurrentKrViewItem(); *************** *** 515,519 **** case Key_Left : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); break; } else { // a normal click - do a lynx-like moving thing SLOTS->dirUp(); // ask krusader to move up a directory --- 516,521 ---- case Key_Left : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); ! break; } else { // a normal click - do a lynx-like moving thing SLOTS->dirUp(); // ask krusader to move up a directory *************** *** 525,545 **** case Key_Down : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); break; } else KListView::keyPressEvent( e ); break; ! case Key_Delete : // kill file 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() ); if ( !viewItem || !( viewItem->isDir() && viewItem->size() <= 0 ) ) { ! KListView::keyPressEvent( new QKeyEvent(QKeyEvent::KeyPress, Key_Insert, 0, 0) ); return ; // wrong type, just mark(unmark it) } --- 527,549 ---- case Key_Down : if ( e->state() == ControlButton ) { // let the panel handle it ! e->ignore(); ! break; } else KListView::keyPressEvent( e ); break; ! case Key_Delete : // kill file 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() ); if ( !viewItem || !( viewItem->isDir() && viewItem->size() <= 0 ) ) { ! KListView::keyPressEvent( new QKeyEvent( QKeyEvent::KeyPress, Key_Insert, 0, 0 ) ); return ; // wrong type, just mark(unmark it) } *************** *** 553,565 **** QStringList names; names.push_back( viewItem->name() ); ! krApp->mainView->activePanel->func->calcSpace( names, totalSize, totalFiles, totalDirs ); ! // did we succeed to calcSpace? we'll fail if we don't have permissions ! if (totalSize == 0) { // just mark it, and bail out ! KListView::keyPressEvent( new QKeyEvent(QKeyEvent::KeyPress, Key_Insert, 0, 0) ); return ; } - viewItem->setSize( totalSize ); - _countSize += totalSize; - viewItem->repaintItem(); //KListView::keyPressEvent( new QKeyEvent( QKeyEvent::KeyPress, Key_Space, 0, 0 ) ); } --- 557,570 ---- QStringList names; names.push_back( viewItem->name() ); ! if ( krApp->mainView->activePanel->func->calcSpace( names, totalSize, totalFiles, totalDirs ) ) { ! // did we succeed to calcSpace? we'll fail if we don't have permissions ! if ( totalSize == 0 ) { // just mark it, and bail out ! KListView::keyPressEvent( new QKeyEvent( QKeyEvent::KeyPress, Key_Insert, 0, 0 ) ); return ; + } + viewItem->setSize( totalSize ); + _countSize += totalSize; + viewItem->repaintItem(); } //KListView::keyPressEvent( new QKeyEvent( QKeyEvent::KeyPress, Key_Space, 0, 0 ) ); } *************** *** 567,598 **** default: // if the key is A..Z or 1..0 do quick search otherwise... ! if ( (e->key()>=Key_A && e->key()<=Key_Z) || ! (e->key()>=Key_0 && e->key()<=Key_9) || ! (e->key() == Key_Backspace) || ! (e->key() == Key_Down) || ! (e->key() == Key_Period) ) { ! // are we doing quicksearch? if not, send keys to panel ! if ( _config->readBoolEntry( "Do Quicksearch", _DoQuicksearch ) ) { ! // are we using krusader's classic quicksearch, or wincmd style? ! if ( _config->readBoolEntry( "Classic Quicksearch", _ClassicQuicksearch ) ) ! KListView::keyPressEvent( e ); ! else { ! // first, show the quicksearch if its hidden ! if ( krApp->mainView->activePanel->quickSearch->isHidden() ) { ! krApp->mainView->activePanel->quickSearch->show(); ! // second, we need to disable the dirup action - hack! ! krDirUp->setEnabled(false); ! } ! // now, send the key to the quicksearch ! krApp->mainView->activePanel->quickSearch->myKeyPressEvent(e); } ! } else e->ignore(); // send to panel } else { ! if (krApp->mainView->activePanel->quickSearch->isShown()) { ! krApp->mainView->activePanel->quickSearch->hide(); ! krApp->mainView->activePanel->quickSearch->clear(); ! krDirUp->setEnabled(true); ! } ! KListView::keyPressEvent(e); } --- 572,604 ---- default: // if the key is A..Z or 1..0 do quick search otherwise... ! if ( ( e->key() >= Key_A && e->key() <= Key_Z ) || ! ( e->key() >= Key_0 && e->key() <= Key_9 ) || ! ( e->key() == Key_Backspace ) || ! ( e->key() == Key_Down ) || ! ( e->key() == Key_Period ) ) { ! // are we doing quicksearch? if not, send keys to panel ! if ( _config->readBoolEntry( "Do Quicksearch", _DoQuicksearch ) ) { ! // are we using krusader's classic quicksearch, or wincmd style? ! if ( _config->readBoolEntry( "Classic Quicksearch", _ClassicQuicksearch ) ) ! KListView::keyPressEvent( e ); ! else { ! // first, show the quicksearch if its hidden ! if ( krApp->mainView->activePanel->quickSearch->isHidden() ) { ! krApp->mainView->activePanel->quickSearch->show(); ! // second, we need to disable the dirup action - hack! ! krDirUp->setEnabled( false ); } ! // now, send the key to the quicksearch ! krApp->mainView->activePanel->quickSearch->myKeyPressEvent( e ); ! } ! } else ! e->ignore(); // send to panel } else { ! if ( krApp->mainView->activePanel->quickSearch->isShown() ) { ! krApp->mainView->activePanel->quickSearch->hide(); ! krApp->mainView->activePanel->quickSearch->clear(); ! krDirUp->setEnabled( true ); ! } ! KListView::keyPressEvent( e ); } *************** *** 605,617 **** QString newName, fileName; KrViewItem *it = getCurrentKrViewItem(); ! if ( it ) fileName = it->name(); ! else return ; // quit if no current item available // don't allow anyone to rename .. ! if (fileName == "..") return; // determine which column is inplace renameable for ( c = 0; c < columns(); c++ ) ! if ( isRenameable( c ) ) break; // one MUST be renamable ! if ( !isRenameable( c ) ) c = -1; // failsafe if ( c >= 0 ) { --- 611,628 ---- QString newName, fileName; KrViewItem *it = getCurrentKrViewItem(); ! if ( it ) ! fileName = it->name(); ! else ! return ; // quit if no current item available // don't allow anyone to rename .. ! if ( fileName == ".." ) ! return ; // determine which column is inplace renameable for ( c = 0; c < columns(); c++ ) ! if ( isRenameable( c ) ) ! break; // one MUST be renamable ! if ( !isRenameable( c ) ) ! c = -1; // failsafe if ( c >= 0 ) { *************** *** 637,641 **** } ! void KrDetailedView::inplaceRenameFinished( QListViewItem *it, int ) { if ( !it ) { // major failure - call developers kdWarning() << "Major failure at inplaceRenameFinished(): item is null" << endl; --- 648,652 ---- } ! void KrDetailedView::inplaceRenameFinished( QListViewItem * it, int ) { if ( !it ) { // major failure - call developers kdWarning() << "Major failure at inplaceRenameFinished(): item is null" << endl; *************** *** 643,647 **** } // check if the item was indeed renamed ! if ( it->text( column( Name ) ) != dynamic_cast<KrDetailedViewItem*>( it ) ->name() ) // was renamed emit renameItem( dynamic_cast<KrDetailedViewItem*>( it ) ->name(), it->text( column( Name ) ) ); else if ( column( Extention ) != -1 ) { // nothing happened, restore the view (if needed) --- 654,658 ---- } // check if the item was indeed renamed ! if ( it->text( column( Name ) ) != dynamic_cast<KrDetailedViewItem*>( it ) ->name() ) // was renamed emit renameItem( dynamic_cast<KrDetailedViewItem*>( it ) ->name(), it->text( column( Name ) ) ); else if ( column( Extention ) != -1 ) { // nothing happened, restore the view (if needed) *************** *** 659,684 **** } ! void KrDetailedView::quickSearch(const QString &str) { ! QString target = str; ! QListViewItem *it; ! while ( (it = findItem(target, column(Name), Qt::BeginsWith)) == 0 ) { ! if (target == QString::null) break; ! target = target.mid(0, target.length()-1); ! } ! if (it) { ! setCurrentItem(dynamic_cast<KrViewItem*>(it)->name()); ! ensureItemVisible(it); ! } } ! void KrDetailedView::stopQuickSearch(QKeyEvent *e) { ! krApp->mainView->activePanel->quickSearch->hide(); ! krApp->mainView->activePanel->quickSearch->clear(); ! krDirUp->setEnabled(true); ! keyPressEvent(e); } ! void KrDetailedView::setNameToMakeCurrent(QListViewItem *it) { ! KrView::setNameToMakeCurrent(dynamic_cast<KrViewItem*>(it)->name()); ! } \ No newline at end of file --- 670,696 ---- } ! void KrDetailedView::quickSearch( const QString & str ) { ! QString target = str; ! QListViewItem *it; ! while ( ( it = findItem( target, column( Name ), Qt::BeginsWith ) ) == 0 ) { ! if ( target == QString::null ) ! break; ! target = target.mid( 0, target.length() - 1 ); ! } ! if ( it ) { ! setCurrentItem( dynamic_cast<KrViewItem*>( it ) ->name() ); ! ensureItemVisible( it ); ! } } ! void KrDetailedView::stopQuickSearch( QKeyEvent * e ) { ! krApp->mainView->activePanel->quickSearch->hide(); ! krApp->mainView->activePanel->quickSearch->clear(); ! krDirUp->setEnabled( true ); ! keyPressEvent( e ); } ! void KrDetailedView::setNameToMakeCurrent( QListViewItem * it ) { ! KrView::setNameToMakeCurrent( dynamic_cast<KrViewItem*>( it ) ->name() ); ! } |
From: <ma...@us...> - 2003-09-11 20:30:41
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv23044 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** ChangeLog 4 Sep 2003 21:01:33 -0000 1.77 --- ChangeLog 11 Sep 2003 20:30:38 -0000 1.78 *************** *** 9,12 **** --- 9,13 ---- ADDED: open with in the right click menu for multiple files with the same mimetype. ADDED: Patch by Heiner <h.e...@gm...> which adds a cancel button to the calculate space action. + FIXED: whenever the folder gets refreshed, the current file would be lost FIXED: problematic behavior when trying to SPACE a folder without permissions FIXED: Ctrl-A didn't work properly |
From: <ma...@us...> - 2003-09-11 20:30:11
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv22920/krusader/Panel Modified Files: krdetailedview.cpp Log Message: fix: current item is not lost between refreshes Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** krdetailedview.cpp 1 Sep 2003 22:57:15 -0000 1.31 --- krdetailedview.cpp 11 Sep 2003 20:30:07 -0000 1.32 *************** *** 105,108 **** --- 105,109 ---- connect( this, SIGNAL( contextMenuRequested( QListViewItem*, const QPoint&, int ) ), this, SLOT( handleContextMenu( QListViewItem*, const QPoint&, int ) ) ); + connect( this, SIGNAL( currentChanged( QListViewItem* )), this, SLOT( setNameToMakeCurrent( QListViewItem* ))); } *************** *** 678,679 **** --- 679,684 ---- keyPressEvent(e); } + + void KrDetailedView::setNameToMakeCurrent(QListViewItem *it) { + KrView::setNameToMakeCurrent(dynamic_cast<KrViewItem*>(it)->name()); + } \ No newline at end of file |
From: <ma...@us...> - 2003-09-11 20:29:51
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv22830/krusader/Panel Modified Files: krdetailedview.h Log Message: fix: current item is not lost between refreshes Index: krdetailedview.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** krdetailedview.h 16 Aug 2003 13:15:59 -0000 1.9 --- krdetailedview.h 11 Sep 2003 20:29:48 -0000 1.10 *************** *** 110,113 **** --- 110,114 ---- void quickSearch(const QString &); void stopQuickSearch(QKeyEvent*); + void setNameToMakeCurrent(QListViewItem *it); private: |
From: <ya...@us...> - 2003-09-11 19:48:29
|
Update of /cvsroot/krusader/krusader_kde3/krusader/VFS In directory sc8-pr-cvs1:/tmp/cvs-serv12132/krusader/VFS Modified Files: normal_vfs.cpp Log Message: added chdir on refresh() Index: normal_vfs.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/normal_vfs.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** normal_vfs.cpp 4 Sep 2003 21:00:35 -0000 1.14 --- normal_vfs.cpp 11 Sep 2003 19:48:26 -0000 1.15 *************** *** 78,84 **** //watcher.clearList(); ! // set the writable attribute ! if( getgid()==0 ) isWritable = true; ! else isWritable = KRpermHandler::fileWriteable(origin); krConfig->setGroup("Look&Feel"); --- 78,84 ---- //watcher.clearList(); ! // set the writable attribute to true, if that's not the case - the KIO job ! // will give the warnings and errors ! isWritable = true; krConfig->setGroup("Look&Feel"); *************** *** 95,98 **** --- 95,101 ---- if(!dir) return false; + // change directory to the new directory + chdir(origin); + if (!quietMode) emit startUpdate(); |
From: <ya...@us...> - 2003-09-11 19:47:44
|
Update of /cvsroot/krusader/krusader_kde3/krusader/VFS In directory sc8-pr-cvs1:/tmp/cvs-serv11974/krusader/VFS Modified Files: krpermhandler.cpp Log Message: Added closedir after opendir Index: krpermhandler.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/krpermhandler.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** krpermhandler.cpp 27 Aug 2003 22:05:11 -0000 1.8 --- krpermhandler.cpp 11 Sep 2003 19:47:37 -0000 1.9 *************** *** 228,231 **** --- 228,232 ---- DIR* dir = opendir(path.local8Bit()); if(!dir) return false; + closedir(dir); // bug fix Karai Csaba (ckarai) return true; } *************** *** 239,250 **** bool KRpermHandler::fileExist(QString path, QString name){ ! DIR* dir = opendir(path.local8Bit()); if(!dir) return false; ! struct dirent* dirEnt; while( (dirEnt=readdir(dir)) ){ ! if ( dirEnt->d_name == name ) return true; ! } ! if( QDir(path).exists(name) ) return true; ! return false; } --- 240,255 ---- bool KRpermHandler::fileExist(QString path, QString name){ ! if( QDir(path).exists(name) ) return true; ! DIR* dir = opendir(path.local8Bit()); if(!dir) return false; ! struct dirent* dirEnt; while( (dirEnt=readdir(dir)) ){ ! if ( dirEnt->d_name == name ){ ! closedir(dir); ! return true; ! } ! } ! closedir(dir); ! return false; } |
From: Karai C. <csa...@no...> - 2003-09-09 08:11:20
|
Hi! At your homepage I've read that you are looking for new software developers. I think that Krusader is a great program, I use the 1.20 release on my computer. I've found a lot of annoying bugs that should be corrected. Its quite important to make a stable Total Commander like application for Linux and I think that Krusader is the most close to it. As I use krusader every day (with ftp, samba, floppy, ...), I could test it, find and correct those bugs increasing the stability of the code. I am a C, C++ console programmer and not experienced in the KDE gui. However using the net, I could correct gui problems as well, but writing components alone needs more experience. My two goals are the stability increase and implementation some missing features that are present in the Total Commander. I have another great problem. I am behind a firewall that disables CVS. I can not solve this problem. I can get out only with ssh, telnet, ftp and http. At home I use a 14.4 kbps mobile telephone modem, which is incredible slow, and as krusader's gzipped size is nearly 2MByte, it wonder if it can be used for this purpose. If you need my cooperation or have any ideas how to solve my firewall problem, please answer this letter, Thanks, Karai Csaba |
From: <ya...@us...> - 2003-09-04 21:35:35
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv9305/krusader/Panel Modified Files: panelfunc.cpp Log Message: Index: panelfunc.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/panelfunc.cpp,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** panelfunc.cpp 4 Sep 2003 21:00:36 -0000 1.34 --- panelfunc.cpp 4 Sep 2003 21:35:31 -0000 1.35 *************** *** 755,759 **** v = new ftp_vfs( origin, panel ); else if ( type == "-ace" || type == "-arj" || type == "-rpm" ) ! v = new temp_v/* --=={ Patch by Heiner <h.e...@gm...> }==-- */fs( origin, type, panel, files() ->vfs_isWritable() ); else v = new arc_vfs( origin, type, panel, files() ->vfs_isWritable() ); --- 755,759 ---- v = new ftp_vfs( origin, panel ); else if ( type == "-ace" || type == "-arj" || type == "-rpm" ) ! v = new temp_vfs( origin, type, panel, files() ->vfs_isWritable() ); else v = new arc_vfs( origin, type, panel, files() ->vfs_isWritable() ); |
From: <ya...@us...> - 2003-09-04 21:01:35
|
Update of /cvsroot/krusader/krusader_kde3 In directory sc8-pr-cvs1:/tmp/cvs-serv1780 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/ChangeLog,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** ChangeLog 1 Sep 2003 22:59:03 -0000 1.76 --- ChangeLog 4 Sep 2003 21:01:33 -0000 1.77 *************** *** 8,11 **** --- 8,12 ---- ADDED: rar support to krArc KIO slave. ADDED: open with in the right click menu for multiple files with the same mimetype. + ADDED: Patch by Heiner <h.e...@gm...> which adds a cancel button to the calculate space action. FIXED: problematic behavior when trying to SPACE a folder without permissions FIXED: Ctrl-A didn't work properly |
From: <ya...@us...> - 2003-09-04 21:00:42
|
Update of /cvsroot/krusader/krusader_kde3/krusader/VFS In directory sc8-pr-cvs1:/tmp/cvs-serv1453/krusader/VFS Modified Files: arc_vfs.cpp arc_vfs.h ftp_vfs.h normal_vfs.cpp normal_vfs.h vfs.h Log Message: Patch by Heiner <h.e...@gm...> which adds a cancel button to the calculate space action. Index: arc_vfs.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/arc_vfs.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** arc_vfs.cpp 27 Aug 2003 22:05:11 -0000 1.10 --- arc_vfs.cpp 4 Sep 2003 21:00:35 -0000 1.11 *************** *** 178,182 **** } - getDirs(); // set the cursor to normal mode --- 178,181 ---- *************** *** 678,682 **** // calculate space ! void arc_vfs::vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs){ vfile* vf = vfs_search(name); --- 677,682 ---- // calculate space ! void arc_vfs::vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs,bool* stop){ ! if (stop && *stop) return; vfile* vf = vfs_search(name); *************** *** 699,705 **** // process all the files in the directory. ! for( vf = vfs_getFirstFile(); vf != 0; vf = vfs_getNextFile() ) ! vfs_calcSpace(vf->vfile_getName(),totalSize,totalFiles,totalDirs); ! vfs_origin = origin_backup; // restore origin vfs_filesP = vfs_filesP_backup; // restore vfs_filesP --- 699,707 ---- // process all the files in the directory. ! for( vf = vfs_getFirstFile(); vf != 0; vf = vfs_getNextFile() ){ ! if (stop && *stop) return; ! vfs_calcSpace(vf->vfile_getName(),totalSize,totalFiles,totalDirs,stop); ! } ! vfs_origin = origin_backup; // restore origin vfs_filesP = vfs_filesP_backup; // restore vfs_filesP Index: arc_vfs.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/arc_vfs.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** arc_vfs.h 5 Jul 2003 17:37:04 -0000 1.3 --- arc_vfs.h 4 Sep 2003 21:00:35 -0000 1.4 *************** *** 59,63 **** void vfs_rename(QString fileName,QString newName); // calculate space ! void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs); // return the working dir QString vfs_workingDir(); --- 59,63 ---- void vfs_rename(QString fileName,QString newName); // calculate space ! void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs, bool* stop = 0); // return the working dir QString vfs_workingDir(); Index: ftp_vfs.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/ftp_vfs.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ftp_vfs.h 5 Jul 2003 17:37:04 -0000 1.3 --- ftp_vfs.h 4 Sep 2003 21:00:35 -0000 1.4 *************** *** 58,62 **** QString vfs_workingDir(); // not implemented for ftp ! ! void vfs_calcSpace(QString ,long long *,long *, long *){} public slots: --- 58,62 ---- QString vfs_workingDir(); // not implemented for ftp ! ! void vfs_calcSpace(QString ,long long *,long *, long *,bool*){} public slots: Index: normal_vfs.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/normal_vfs.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** normal_vfs.cpp 27 Aug 2003 22:05:11 -0000 1.13 --- normal_vfs.cpp 4 Sep 2003 21:00:35 -0000 1.14 *************** *** 226,230 **** } ! void normal_vfs::vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs){ if (!name.contains("/")) name = vfs_workingDir()+"/"+name; if (name == "/proc") return; --- 226,231 ---- } ! void normal_vfs::vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs, bool* stop){ ! if (stop && *stop) return; if (!name.contains("/")) name = vfs_workingDir()+"/"+name; if (name == "/proc") return; *************** *** 246,251 **** QFileInfoList* fileList = const_cast<QFileInfoList*>(dir.entryInfoList()); for (QFileInfo* qfiP = fileList->first(); qfiP != 0; qfiP = fileList->next()){ ! if (qfiP->fileName() != "." && qfiP->fileName() != "..") ! vfs_calcSpace(name+"/"+qfiP->fileName(),totalSize,totalFiles,totalDirs); } } --- 247,253 ---- QFileInfoList* fileList = const_cast<QFileInfoList*>(dir.entryInfoList()); for (QFileInfo* qfiP = fileList->first(); qfiP != 0; qfiP = fileList->next()){ ! if (stop && *stop) return; ! if (qfiP->fileName() != "." && qfiP->fileName() != "..") ! vfs_calcSpace(name+"/"+qfiP->fileName(),totalSize,totalFiles,totalDirs,stop); } } Index: normal_vfs.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/normal_vfs.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** normal_vfs.h 14 Jul 2003 20:37:33 -0000 1.7 --- normal_vfs.h 4 Sep 2003 21:00:35 -0000 1.8 *************** *** 62,66 **** void vfs_rename(QString fileName,QString newName); // calculate space ! void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs); // return the working dir inline virtual QString vfs_workingDir() { return vfs_origin; } --- 62,66 ---- void vfs_rename(QString fileName,QString newName); // calculate space ! void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs, bool * stop = 0); // return the working dir inline virtual QString vfs_workingDir() { return vfs_origin; } Index: vfs.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/VFS/vfs.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** vfs.h 15 Jul 2003 20:02:01 -0000 1.5 --- vfs.h 4 Sep 2003 21:00:36 -0000 1.6 *************** *** 71,75 **** virtual void vfs_rename(QString fileName,QString newName)=0; // calculate space ! virtual void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs)=0; // return the working dir virtual QString vfs_workingDir()=0; --- 71,75 ---- virtual void vfs_rename(QString fileName,QString newName)=0; // calculate space ! virtual void vfs_calcSpace(QString name ,long long *totalSize,long *totalFiles, long *totalDirs, bool * stop = 0)=0; // return the working dir virtual QString vfs_workingDir()=0; |
From: <ya...@us...> - 2003-09-04 21:00:42
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1:/tmp/cvs-serv1453/krusader/Panel Modified Files: panelfunc.cpp panelfunc.h Log Message: Patch by Heiner <h.e...@gm...> which adds a cancel button to the calculate space action. Index: panelfunc.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/panelfunc.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** panelfunc.cpp 24 Aug 2003 20:00:05 -0000 1.33 --- panelfunc.cpp 4 Sep 2003 21:00:36 -0000 1.34 *************** *** 31,34 **** --- 31,35 ---- // Qt Includes #include <qdir.h> + #include <qtimer.h> #include <qtextstream.h> // KDE Includes *************** *** 66,69 **** --- 67,193 ---- #include "../resources.h" + /* --=={ Patch by Heiner <h.e...@gm...> }==-- */ + KrCalcSpaceDialog::CalcThread::CalcThread(KrCalcSpaceDialog * parent, vfs * files, const QStringList & names) + : m_totalSize(0), m_totalFiles(0), m_totalDirs(0), m_names(names), m_files(files), m_parent(parent) + , m_threadInUse(true), m_stop(false) {} + + void KrCalcSpaceDialog::CalcThread::cleanUp(){ + if (m_threadInUse || !finished()) + m_synchronizeUsageAccess.unlock(); + else{ + m_synchronizeUsageAccess.unlock(); // prevents a resource leak + // otherwise: no one needs this instance any more: delete it + delete this; + } + } + + void KrCalcSpaceDialog::CalcThread::deleteInstance(){ + // synchronize to avoid race condition. + m_synchronizeUsageAccess.lock(); + m_threadInUse = false; + cleanUp(); + } + + void KrCalcSpaceDialog::CalcThread::run(){ + if ( !m_names.isEmpty() ) // if something to do: do the calculation + for ( QStringList::ConstIterator name = m_names.begin(); name != m_names.end(); ++name ) + m_files->vfs_calcSpace( *name, &m_totalSize, &m_totalFiles, &m_totalDirs , & m_stop); + // synchronize to avoid race condition. + m_synchronizeUsageAccess.lock(); + cleanUp(); // this does not need the instance any more + } + + void KrCalcSpaceDialog::CalcThread::stop(){ + // cancel was pressed + m_stop = true; + } + + KrCalcSpaceDialog::KrCalcSpaceDialog(QWidget *parent, vfs * files, const QStringList & names, bool autoclose) : + KDialogBase(parent, "KrCalcSpaceDialog", true, "Calculate Occupied Space", Ok|Cancel), + m_autoClose(autoclose), m_canceled(false), m_timerCounter(0){ + // the dialog: The Ok button is hidden until it is needed + showButtonOK(false); + m_thread = new CalcThread(this, files, names); + m_pollTimer = new QTimer(this); + QWidget * mainWidget = new QWidget( this ); + setMainWidget(mainWidget); + QVBoxLayout *topLayout = new QVBoxLayout( mainWidget, 0, spacingHint() ); + + m_label = new QLabel( "", mainWidget, "caption" ); + showResult(); // fill m_label with something usefull + topLayout->addWidget( m_label ); + topLayout->addStretch(10); + } + + void KrCalcSpaceDialog::calculationFinished(){ + // close dialog if auto close is true + if (m_autoClose){ + done(0); + return; + } + // otherwise hide cancel and show ok button + showButtonCancel(false); + showButtonOK(true); + showResult(); // and show final result + } + + /* This timer has two jobs: it polls the thread if it is finished. Polling is + better here as it might finish while the dialog builds up. Secondly it refreshes + the displayed result. + */ + void KrCalcSpaceDialog::timer(){ + // thread finished? + if (m_thread->finished()){ + // close dialog or switch buttons + calculationFinished(); + m_pollTimer->stop(); // stop the polling. No longer needed + return; + } + + // Every 10 pollings (1 second) refresh the displayed result + if (++m_timerCounter > 10){ + m_timerCounter = 0; + showResult(); + } + } + + void KrCalcSpaceDialog::showResult(){ + if (!m_thread) return; + QString msg; + QString fileName = ( ( m_thread->getNames().count() == 1 ) ? ( i18n( "Name: " ) + m_thread->getNames().first() + "\n" ) : QString( "" ) ); + msg = fileName + i18n( "Total occupied space: %1\nin %2 directories and %3 files" ). + arg( KIO::convertSize( m_thread->getTotalSize() ) ).arg( m_thread->getTotalDirs() ).arg( m_thread->getTotalFiles() ); + m_label->setText(msg); + } + + void KrCalcSpaceDialog::slotCancel(){ + m_thread->stop(); // notify teh thread to stop + m_canceled = true; // set the cancel flag + KDialogBase::slotCancel(); // close the dialog + } + + KrCalcSpaceDialog::~KrCalcSpaceDialog(){ + CalcThread * tmp = m_thread; + m_thread = 0; // do not access the thread anymore or core dump if smoe piece of code wrongly does + tmp->deleteInstance(); // Notify the thread, that the dialog does not need anymore. + } + + void KrCalcSpaceDialog::exec(){ + m_thread->start(); // start the thread + if (m_autoClose){ // autoclose + // set the cursor to busy mode and wait 3 seconds or until the thread finishes + krApp->setCursor( KCursor::waitCursor() ); + bool result = m_thread->wait(3000); + krApp->setCursor( KCursor::arrowCursor() ); // return the cursor to normal mode + if (result) return;// thread finished: do not show the dialog + showResult(); // fill the invisible dialog with usefull data + } + // prepare and start the poll timer + connect(m_pollTimer, SIGNAL(timeout()), this, SLOT(timer())); + m_pollTimer->start(100); + KDialogBase::exec(); // show the dialog + } + /* --=={ End of patch by Heiner <h.e...@gm...> }==-- */ + ////////////////////////////////////////////////////////// ////// ---------- List Panel ------------- //////// *************** *** 214,218 **** // try to create a new symlink if ( symlink( newLink.local8Bit(), file.local8Bit() ) == -1 ) { ! KMessageBox::sorry( krApp, i18n( "Failed to create a new link: " ) + file.latin1() ); return ; } --- 338,342 ---- // try to create a new symlink if ( symlink( newLink.local8Bit(), file.local8Bit() ) == -1 ) { ! KMessageBox::/* --=={ Patch by Heiner <h.e...@gm...> }==-- */sorry( krApp, i18n( "Failed to create a new link: " ) + file.latin1() ); return ; } *************** *** 328,332 **** QString dest = panel->otherPanel->getPath(); ! krConfig->setGroup( "Advanced" ); if ( krConfig->readBoolEntry( "Confirm Move", _ConfirmMove ) ) { --- 452,456 ---- QString dest = panel->otherPanel->getPath(); ! /* --=={ Patch by Heiner <h.e...@gm...> }==-- */ krConfig->setGroup( "Advanced" ); if ( krConfig->readBoolEntry( "Confirm Move", _ConfirmMove ) ) { *************** *** 631,635 **** v = new ftp_vfs( origin, panel ); else if ( type == "-ace" || type == "-arj" || type == "-rpm" ) ! v = new temp_vfs( origin, type, panel, files() ->vfs_isWritable() ); else v = new arc_vfs( origin, type, panel, files() ->vfs_isWritable() ); --- 755,759 ---- v = new ftp_vfs( origin, panel ); else if ( type == "-ace" || type == "-arj" || type == "-rpm" ) ! v = new temp_v/* --=={ Patch by Heiner <h.e...@gm...> }==-- */fs( origin, type, panel, files() ->vfs_isWritable() ); else v = new arc_vfs( origin, type, panel, files() ->vfs_isWritable() ); *************** *** 795,825 **** void ListPanelFunc::calcSpace() { ! long long totalSize = 0; ! long totalFiles = 0; ! long totalDirs = 0; ! QStringList names; ! panel->getSelectedNames( &names ); ! if ( names.isEmpty() ) ! return ; // nothing to do ! ! calcSpace(names, totalSize, totalFiles, totalDirs); ! // show the results to the user... ! QString msg; ! QString fileName = ( ( names.count() == 1 ) ? ( i18n( "Name: " ) + names.first() + "\n" ) : QString( "" ) ); ! msg = fileName + i18n( "Total occupied space: %1\nin %2 directories and %3 files" ). ! arg( KIO::convertSize( totalSize ) ).arg( totalDirs ).arg( totalFiles ); ! KMessageBox::information( krApp, msg.latin1() ); } ! void ListPanelFunc::calcSpace(QStringList & names, long long & totalSize, long & totalFiles, long & totalDirs) { ! // set the cursor to busy mode ! krApp->setCursor( KCursor::waitCursor() ); ! ! // ask the vfs to calculate the space for each name ! for ( QStringList::Iterator name = names.begin(); name != names.end(); ++name ) ! files() ->vfs_calcSpace( *name, &totalSize, &totalFiles, &totalDirs ); ! ! krApp->setCursor( KCursor::arrowCursor() ); // return the cursor to normal mode } --- 919,937 ---- void ListPanelFunc::calcSpace() { ! QStringList names; ! panel->getSelectedNames( &names ); ! if ( names.isEmpty() ) return ; // nothing to do ! KrCalcSpaceDialog calc(krApp, files(), names, false); ! calc.exec(); } ! bool ListPanelFunc::calcSpace(QStringList & names, long long & totalSize, long & totalFiles, long & totalDirs) { ! KrCalcSpaceDialog calc(krApp, files(), names, true); ! calc.exec(); ! totalSize = calc.getTotalSize(); ! totalFiles = calc.getTotalFiles(); ! totalDirs = calc.getTotalDirs(); ! return !calc.wasCanceled(); } Index: panelfunc.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/panelfunc.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** panelfunc.h 11 Aug 2003 20:56:07 -0000 1.12 --- panelfunc.h 4 Sep 2003 21:00:36 -0000 1.13 *************** *** 36,39 **** --- 36,96 ---- #include <qobject.h> #include <qptrstack.h> + #include <qthread.h> + + /* --=={ Patch by Heiner <h.e...@gm...> }==-- */ + /* Dialog calculating showing the number of files and directories and its total size + in a dialog. If wanted, the dialog appears after 3 seconds of calculation, to + avoid a short appearence if the result was found quickly. Computes teh result in + a different thread. + */ + class KrCalcSpaceDialog : public KDialogBase{ + Q_OBJECT + /* Thread which does the actual calculation. Deletes itself, if no longer + needed. Creator must call finished(), if the thread is no longer needed. + */ + class CalcThread : public QThread{ + long long m_totalSize; + long m_totalFiles; + long m_totalDirs; + const QStringList m_names; + vfs * m_files; + KrCalcSpaceDialog * m_parent; + QMutex m_synchronizeUsageAccess; + bool m_threadInUse; // true: caller needs the thread + bool m_stop; + void cleanUp(); // Deletes this, if possible + public: + long long getTotalSize() const {return m_totalSize;} // the result + long getTotalFiles() const {return m_totalFiles;} // the result + long getTotalDirs() const {return m_totalDirs;} // the result + const QStringList & getNames() const {return m_names;} // list of directories to calculate + CalcThread(KrCalcSpaceDialog * parent, vfs * files, const QStringList & names); + void deleteInstance(); // thread is no longer needed. + void run(); // start calculation + void stop(); // stop it. Thread continues until vfs_calcSpace returns + } * m_thread; + friend class CalcThread; + class QTimer * m_pollTimer; + QLabel * m_label; + bool m_autoClose; // true: wait 3 sec. before showing the dialog. Close it, when done + bool m_canceled; // true: cancel was pressed + int m_timerCounter; // internal counter. The timer runs faster as the rehresh (see comment there) + void calculationFinished(); // called if the calulation is done + void showResult(); // show the current result in teh dialog + protected slots: + void timer(); // poll timer was fired + void slotCancel(); // cancel was pressed + public: + // autoclose: wait 3 sec. before showing the dialog. Close it, when done + KrCalcSpaceDialog(QWidget *parent, vfs * files, const QStringList & names, bool autoclose); + ~KrCalcSpaceDialog(); + long long getTotalSize() const {return m_thread->getTotalSize();} // the result + long getTotalFiles() const {return m_thread->getTotalFiles();} // the result + long getTotalDirs() const {return m_thread->getTotalDirs();} // the result + bool wasCanceled() const {return m_canceled;} // cancel was pressed; result is probably wrong + public slots: + void exec(); // start calculation + }; + /* End of patch by Heiner <h.e...@gm...> */ class ListPanelFunc : public QObject{ *************** *** 42,46 **** public slots: void execute(QString&); ! void openUrl(const QString& path); void refresh(){ refresh(panel->virtualPath); } // re-read the files void rename(const QString &oldname, const QString &newname); --- 99,103 ---- public slots: void execute(QString&); ! void openUrl(const QString& path); void refresh(){ refresh(panel->virtualPath); } // re-read the files void rename(const QString &oldname, const QString &newname); *************** *** 48,81 **** public: ListPanelFunc(class ListPanel *parent); ! ~ListPanelFunc(); vfs* files(); // return a pointer to the vfs ! void refreshActions(); void redirectLink(); void krlink(bool sym); void goBack(); ! void dirUp(); ! void properties(); void terminal(); void editFile(); void view(); ! void rename(); void mkdir(); void moveFiles(); ! void pack(); ! void unpack(); ! void testArchive(); ! void copyFiles(); void deleteFiles(); ! void calcSpace(); ! void calcSpace(QStringList & names, long long & totalSize, long & totalFiles, long & totalDirs); ! void FTPDisconnect(); ! void newFTPconnection(QString host=QString::null); ! void changeVFS(QString type, QString origin); inline ListPanelFunc* otherFunc(){ return panel->otherPanel->func; } protected: ! void refresh(const QString path); ListPanel *panel; // our ListPanel --- 105,142 ---- public: ListPanelFunc(class ListPanel *parent); ! ~ListPanelFunc(); vfs* files(); // return a pointer to the vfs ! void refreshActions(); void redirectLink(); void krlink(bool sym); void goBack(); ! void dirUp(); ! void properties(); void terminal(); void editFile(); void view(); ! void rename(); void mkdir(); void moveFiles(); ! void pack(); ! void unpack(); ! void testArchive(); ! void copyFiles(); void deleteFiles(); ! void calcSpace(); // calculate the occupied space and show it in a dialog ! ! // calculate the occupied space. A dialog appears, if calculation lasts more than 3 seconds ! // and disappears, if the calculation is done. Returns true, if the result is ok and false ! // otherwise (Cancel was pressed). ! bool calcSpace(QStringList & names, long long & totalSize, long & totalFiles, long & totalDirs); ! void FTPDisconnect(); ! void newFTPconnection(QString host=QString::null); ! void changeVFS(QString type, QString origin); inline ListPanelFunc* otherFunc(){ return panel->otherPanel->func; } protected: ! void refresh(const QString path); ListPanel *panel; // our ListPanel |