summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-05 12:03:42 (UTC)
committer zautrix <zautrix>2005-02-05 12:03:42 (UTC)
commitf5902d0e08e0b10321c555e8846a8a8ce2087d30 (patch) (unidiff)
tree5aeaa9689b3161867fb0c8707adc5908b5072f06
parent86c0d35262454a31ed7d50d3e20cbdace954ebdf (diff)
downloadkdepimpi-f5902d0e08e0b10321c555e8846a8a8ce2087d30.zip
kdepimpi-f5902d0e08e0b10321c555e8846a8a8ce2087d30.tar.gz
kdepimpi-f5902d0e08e0b10321c555e8846a8a8ce2087d30.tar.bz2
file selector fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt5
-rw-r--r--korganizer/kolistview.cpp2
-rw-r--r--microkde/kfiledialog.cpp2
-rw-r--r--microkde/ofileselector_p.cpp28
-rw-r--r--microkde/ofileselector_p.h1
5 files changed, 35 insertions, 3 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 9ba4f3e..4421e61 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -6,33 +6,36 @@ KO/Pi:
6Added feature for changing alarm settings for many items at once: 6Added feature for changing alarm settings for many items at once:
7Open list view (or search dialog), select the desired items and choose in 7Open list view (or search dialog), select the desired items and choose in
8the popup menu: Set alarm for selected... 8the popup menu: Set alarm for selected...
9 9
10Added to the event/todo viewer the option to send an email to 10Added to the event/todo viewer the option to send an email to
11all attendees or all selected (with RSVP) attendees. 11all attendees or all selected (with RSVP) attendees.
12 12
13Made the week-month mode changing in month view faster. 13Made the week-month mode changing in month view faster.
14 14
15Made month view better useable with keyboard. 15Made month view better useable with keyboard.
16Now TAB key jumps to next cell with an event/todo. 16Now TAB key jumps to next cell with an event/todo.
17Scroll in cell with coursor keys, scroll in time (next week) with 17Scroll in cell with coursor keys, scroll in time (next week) with
18Shift/Control + coursorkeys. 18Shift/Control + coursorkeys.
19 19
20Fixed bug that the todo view flat mode was reset after first view update. 20Fixed bug that the todo view flat mode was reset after first view update.
21 21
22If a todo is displayed closed in the todo view, it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties. 22If a todo is displayed closed in the todo view,
23it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties.
24
25Added info about the numbers of years to the caption (title) information about a birthday event.
23 26
24********** VERSION 2.0.2 ************ 27********** VERSION 2.0.2 ************
25 28
26KO/Pi: 29KO/Pi:
27Fixed the layout problem of the day label buttons 30Fixed the layout problem of the day label buttons
28of the agenda view introduced in version 2.0.1. 31of the agenda view introduced in version 2.0.1.
29 32
30Added WhatsThis support for the todo view and the list view. 33Added WhatsThis support for the todo view and the list view.
31 34
32Added a quite useful feature to the montview. 35Added a quite useful feature to the montview.
33Just click on the week numbers on the left. 36Just click on the week numbers on the left.
34And in the top right corner of month view/agenda view 37And in the top right corner of month view/agenda view
35there is now a "week number quick selector". 38there is now a "week number quick selector".
36(Click on the black triangle). 39(Click on the black triangle).
37 40
38Made the quite difficult timezone change in KO/Pi easy. 41Made the quite difficult timezone change in KO/Pi easy.
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index d0dbb47..acd9265 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -507,33 +507,33 @@ void KOListView::beamSelected()
507 ir->send( fn, description, "text/x-vCalendar" ); 507 ir->send( fn, description, "text/x-vCalendar" );
508#endif 508#endif
509 } 509 }
510 } 510 }
511} 511}
512void KOListView::beamDone( Ir *ir ) 512void KOListView::beamDone( Ir *ir )
513{ 513{
514#ifndef DESKTOP_VERSION 514#ifndef DESKTOP_VERSION
515 delete ir; 515 delete ir;
516#endif 516#endif
517 topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done")); 517 topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done"));
518} 518}
519 519
520void KOListView::saveDescriptionToFile() 520void KOListView::saveDescriptionToFile()
521{ 521{
522 522
523 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 523 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"),
524 i18n("This saves the text/details of selected\nJournals and Events/Todos\nto a text file."), 524 i18n("This saves the text/details of selected\nJournals and Events/Todos\nto a text file."),
525 i18n("Continue"), i18n("Cancel"), 0, 525 i18n("Continue"), i18n("Cancel"), 0,
526 0, 1 ); 526 0, 1 );
527 if ( result != 0 ) { 527 if ( result != 0 ) {
528 return; 528 return;
529 } 529 }
530 int icount = 0; 530 int icount = 0;
531 QPtrList<Incidence> delSel ; 531 QPtrList<Incidence> delSel ;
532 QListViewItem *item = mListView->firstChild (); 532 QListViewItem *item = mListView->firstChild ();
533 while ( item ) { 533 while ( item ) {
534 if ( item->isSelected() ) { 534 if ( item->isSelected() ) {
535 delSel.append(((KOListViewItem *)item)->data()); 535 delSel.append(((KOListViewItem *)item)->data());
536 ++icount; 536 ++icount;
537 } 537 }
538 538
539 item = item->nextSibling(); 539 item = item->nextSibling();
diff --git a/microkde/kfiledialog.cpp b/microkde/kfiledialog.cpp
index 977499e..309f8dc 100644
--- a/microkde/kfiledialog.cpp
+++ b/microkde/kfiledialog.cpp
@@ -9,57 +9,59 @@
9//US orig#include <ofileselector.h> 9//US orig#include <ofileselector.h>
10#include <ofileselector_p.h> 10#include <ofileselector_p.h>
11QString KFileDialog::getSaveFileName( const QString & fn, 11QString KFileDialog::getSaveFileName( const QString & fn,
12 const QString & cap , QWidget * par ) 12 const QString & cap , QWidget * par )
13{ 13{
14 QString retfile = ""; 14 QString retfile = "";
15 QDialog dia ( par, "input-dialog", true ); 15 QDialog dia ( par, "input-dialog", true );
16 QVBoxLayout lay( &dia ); 16 QVBoxLayout lay( &dia );
17 lay.setMargin(7); 17 lay.setMargin(7);
18 lay.setSpacing(7); 18 lay.setSpacing(7);
19 dia.setCaption( cap ); 19 dia.setCaption( cap );
20 QString file = fn; 20 QString file = fn;
21 if ( file.isEmpty() ) 21 if ( file.isEmpty() )
22 file = QDir::homeDirPath()+"/*"; 22 file = QDir::homeDirPath()+"/*";
23 QFileInfo fi ( file ); 23 QFileInfo fi ( file );
24 OFileSelector o ( &dia,OFileSelector::FileSelector, OFileSelector::Save, fi.dirPath(true), fi.fileName() ); 24 OFileSelector o ( &dia,OFileSelector::FileSelector, OFileSelector::Save, fi.dirPath(true), fi.fileName() );
25 QObject::connect ( &o, SIGNAL( ok() ), &dia, SLOT ( accept () ) );
25 lay.addWidget( &o); 26 lay.addWidget( &o);
26 // o.setNewVisible( true ); 27 // o.setNewVisible( true );
27 // o.setNameVisible( true ); 28 // o.setNameVisible( true );
28 dia.showMaximized(); 29 dia.showMaximized();
29 int res = dia.exec(); 30 int res = dia.exec();
30 if ( res ) 31 if ( res )
31 retfile = o.selectedName(); 32 retfile = o.selectedName();
32 return retfile; 33 return retfile;
33} 34}
34 35
35QString KFileDialog::getOpenFileName( const QString & fn, 36QString KFileDialog::getOpenFileName( const QString & fn,
36 const QString & cap, QWidget * par ) 37 const QString & cap, QWidget * par )
37{ 38{
38 QString retfile = ""; 39 QString retfile = "";
39 QDialog dia ( par, "input-dialog", true ); 40 QDialog dia ( par, "input-dialog", true );
40 // QLineEdit lab ( &dia ); 41 // QLineEdit lab ( &dia );
41 QVBoxLayout lay( &dia ); 42 QVBoxLayout lay( &dia );
42 lay.setMargin(7); 43 lay.setMargin(7);
43 lay.setSpacing(7); 44 lay.setSpacing(7);
44 dia.setCaption( cap ); 45 dia.setCaption( cap );
45 QString file = fn; 46 QString file = fn;
46 if ( file.isEmpty() ) 47 if ( file.isEmpty() )
47 file = QDir::homeDirPath()+"/*";; 48 file = QDir::homeDirPath()+"/*";;
48 QFileInfo fi ( file ); 49 QFileInfo fi ( file );
49 OFileSelector o ( &dia,OFileSelector::FileSelector, OFileSelector::Open, fi.dirPath(true), fi.fileName() ); 50 OFileSelector o ( &dia,OFileSelector::FileSelector, OFileSelector::Open, fi.dirPath(true), fi.fileName() );
51 QObject::connect ( &o, SIGNAL( ok() ), &dia, SLOT ( accept () ) );
50 lay.addWidget( &o); 52 lay.addWidget( &o);
51 dia.showMaximized(); 53 dia.showMaximized();
52 int res = dia.exec(); 54 int res = dia.exec();
53 if ( res ) 55 if ( res )
54 retfile = o.selectedName(); 56 retfile = o.selectedName();
55 return retfile; 57 return retfile;
56} 58}
57 59
58#else 60#else
59 61
60#include <qfiledialog.h> 62#include <qfiledialog.h>
61 63
62QString KFileDialog::getSaveFileName( const QString & fn, 64QString KFileDialog::getSaveFileName( const QString & fn,
63 const QString & cap , QWidget * par ) 65 const QString & cap , QWidget * par )
64{ 66{
65 return QFileDialog::getSaveFileName( fn, QString::null, par, "openfile", cap ); 67 return QFileDialog::getSaveFileName( fn, QString::null, par, "openfile", cap );
diff --git a/microkde/ofileselector_p.cpp b/microkde/ofileselector_p.cpp
index fd5f965..f85f8f4 100644
--- a/microkde/ofileselector_p.cpp
+++ b/microkde/ofileselector_p.cpp
@@ -372,83 +372,109 @@ void OFileViewFileListView::reread( bool all ) {
372 ++it; 372 ++it;
373 } // of while loop 373 } // of while loop
374 m_view->sort(); 374 m_view->sort();
375 375
376} 376}
377int OFileViewFileListView::fileCount()const{ 377int OFileViewFileListView::fileCount()const{
378 return m_view->childCount(); 378 return m_view->childCount();
379} 379}
380QString OFileViewFileListView::currentDir()const{ 380QString OFileViewFileListView::currentDir()const{
381 return m_currentDir; 381 return m_currentDir;
382} 382}
383OFileSelector* OFileViewFileListView::selector() { 383OFileSelector* OFileViewFileListView::selector() {
384 return m_sel; 384 return m_sel;
385} 385}
386 386
387bool OFileViewFileListView::eventFilter (QObject *o, QEvent *e) { 387bool OFileViewFileListView::eventFilter (QObject *o, QEvent *e) {
388#if 0
388 if ( e->type() == QEvent::KeyPress ) { 389 if ( e->type() == QEvent::KeyPress ) {
389 QKeyEvent *k = (QKeyEvent *)e; 390 QKeyEvent *k = (QKeyEvent *)e;
390 if ( (k->key()==Key_Enter) || (k->key()==Key_Return)) { 391 if ( (k->key()==Key_Enter) || (k->key()==Key_Return)) {
391 slotClicked( Qt::LeftButton,m_view->currentItem(),QPoint(0,0),0); 392 slotClicked( Qt::LeftButton,m_view->currentItem(),QPoint(0,0),0);
392 return true; 393 return true;
393 } 394 }
394 } 395 }
396#endif
395 return false; 397 return false;
396} 398}
397 399
398 400
399void OFileViewFileListView::connectSlots() { 401void OFileViewFileListView::connectSlots() {
400 connect(m_view, SIGNAL(clicked(QListViewItem*) ), 402 connect(m_view, SIGNAL(clicked(QListViewItem*) ),
401 this, SLOT(slotCurrentChanged(QListViewItem*) ) ); 403 this, SLOT(slotCurrentChanged(QListViewItem*) ) );
402 connect(m_view, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint&, int ) ), 404 connect(m_view, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint&, int ) ),
403 this, SLOT(slotClicked(int, QListViewItem*, const QPoint&, int ) ) ); 405 this, SLOT(slotClicked(int, QListViewItem*, const QPoint&, int ) ) );
406 connect(m_view, SIGNAL(doubleClicked( QListViewItem* )),
407 this, SLOT(slotDoubleClicked(QListViewItem* ) ) );
408 connect(m_view, SIGNAL(returnPressed( QListViewItem* )),
409 this, SLOT(slotDoubleClicked(QListViewItem* ) ) );
404} 410}
405void OFileViewFileListView::slotCurrentChanged( QListViewItem* item) { 411void OFileViewFileListView::slotCurrentChanged( QListViewItem* item) {
406 if (!item) 412 if (!item)
407 return; 413 return;
408#if 0 414#if 0
409 415
410 OFileSelectorItem *sel = static_cast<OFileSelectorItem*>(item); 416 OFileSelectorItem *sel = static_cast<OFileSelectorItem*>(item);
411 417
412 if (!sel->isDir() ) { 418 if (!sel->isDir() ) {
413 selector()->m_lneEdit->setText( sel->text(1) ); 419 selector()->m_lneEdit->setText( sel->text(1) );
414 // if in fileselector mode we will emit selected 420 // if in fileselector mode we will emit selected
415 if ( selector()->mode() == OFileSelector::FileSelector ) { 421 if ( selector()->mode() == OFileSelector::FileSelector ) {
416 qWarning("slot Current Changed"); 422 qWarning("slot Current Changed");
417 QStringList str = QStringList::split("->", sel->text(1) ); 423 QStringList str = QStringList::split("->", sel->text(1) );
418 QString path = sel->directory() + "/" + str[0].stripWhiteSpace(); 424 QString path = sel->directory() + "/" + str[0].stripWhiteSpace();
419 emit selector()->fileSelected( path ); 425 emit selector()->fileSelected( path );
420 DocLnk lnk( path ); 426 DocLnk lnk( path );
421 emit selector()->fileSelected( lnk ); 427 emit selector()->fileSelected( lnk );
422 } 428 }
423 } 429 }
424#endif 430#endif
425} 431}
432void OFileViewFileListView::slotDoubleClicked(QListViewItem* item ) {
433 if (!item ) return;
434 OFileSelectorItem *sel = static_cast<OFileSelectorItem*>(item);
435 if (!sel->isLocked() ) {
436 QStringList str = QStringList::split("->", sel->text(1) );
437 if (sel->isDir() ) {
438 m_currentDir = sel->directory() + "/" + str[0].stripWhiteSpace();
439 emit selector()->dirSelected( m_currentDir );
440 reread( m_all );
441 }else { // file
442 //qWarning("slot Clicked");
443 selector()->m_lneEdit->setText( str[0].stripWhiteSpace() );
444 QString path = sel->directory() + "/" + str[0].stripWhiteSpace();
445 emit selector()->fileSelected( path );
446 DocLnk lnk( path );
447 emit selector()->fileSelected( lnk );
448 emit selector()->ok();
449 }
450 } // not locked
451}
426void OFileViewFileListView::slotClicked(int button , QListViewItem* item, const QPoint&, int ) { 452void OFileViewFileListView::slotClicked(int button , QListViewItem* item, const QPoint&, int ) {
427 if (!item || ( button != Qt::LeftButton) ) 453 if (!item || ( button != Qt::LeftButton) )
428 return; 454 return;
429 455
430 OFileSelectorItem *sel = static_cast<OFileSelectorItem*>(item); 456 OFileSelectorItem *sel = static_cast<OFileSelectorItem*>(item);
431 if (!sel->isLocked() ) { 457 if (!sel->isLocked() ) {
432 QStringList str = QStringList::split("->", sel->text(1) ); 458 QStringList str = QStringList::split("->", sel->text(1) );
433 if (sel->isDir() ) { 459 if (sel->isDir() ) {
434 m_currentDir = sel->directory() + "/" + str[0].stripWhiteSpace(); 460 m_currentDir = sel->directory() + "/" + str[0].stripWhiteSpace();
435 emit selector()->dirSelected( m_currentDir ); 461 emit selector()->dirSelected( m_currentDir );
436 reread( m_all ); 462 reread( m_all );
437 }else { // file 463 }else { // file
438 qWarning("slot Clicked"); 464 //qWarning("slot Clicked");
439 selector()->m_lneEdit->setText( str[0].stripWhiteSpace() ); 465 selector()->m_lneEdit->setText( str[0].stripWhiteSpace() );
440 QString path = sel->directory() + "/" + str[0].stripWhiteSpace(); 466 QString path = sel->directory() + "/" + str[0].stripWhiteSpace();
441 emit selector()->fileSelected( path ); 467 emit selector()->fileSelected( path );
442 DocLnk lnk( path ); 468 DocLnk lnk( path );
443 emit selector()->fileSelected( lnk ); 469 emit selector()->fileSelected( lnk );
444 } 470 }
445 } // not locked 471 } // not locked
446} 472}
447void OFileViewFileListView::addFile( QFileInfo* info, bool symlink ) { 473void OFileViewFileListView::addFile( QFileInfo* info, bool symlink ) {
448 MimeType type( info->absFilePath() ); 474 MimeType type( info->absFilePath() );
449 if (!compliesMime( type.id() ) ) 475 if (!compliesMime( type.id() ) )
450 return; 476 return;
451 477
452 QPixmap pix = type.pixmap(); 478 QPixmap pix = type.pixmap();
453 QString dir, name; bool locked; 479 QString dir, name; bool locked;
454 if ( pix.isNull() ) { 480 if ( pix.isNull() ) {
diff --git a/microkde/ofileselector_p.h b/microkde/ofileselector_p.h
index b371806..834fd70 100644
--- a/microkde/ofileselector_p.h
+++ b/microkde/ofileselector_p.h
@@ -113,32 +113,33 @@ public:
113 ~OFileViewFileListView(); 113 ~OFileViewFileListView();
114 114
115 OFileSelectorItem* currentItem()const; 115 OFileSelectorItem* currentItem()const;
116 void reread( bool all = false ); 116 void reread( bool all = false );
117 int fileCount()const; 117 int fileCount()const;
118 QString currentDir()const; 118 QString currentDir()const;
119protected: 119protected:
120 bool eventFilter (QObject *o, QEvent *e); 120 bool eventFilter (QObject *o, QEvent *e);
121private slots: 121private slots:
122 void slotNew(); // will emit newSelected 122 void slotNew(); // will emit newSelected
123 void cdUP(); 123 void cdUP();
124 void cdHome(); 124 void cdHome();
125 void cdDoc(); 125 void cdDoc();
126 void changeDir( const QString& ); 126 void changeDir( const QString& );
127 void slotCurrentChanged( QListViewItem* ); 127 void slotCurrentChanged( QListViewItem* );
128 void slotClicked(int, QListViewItem*, const QPoint&, int ); 128 void slotClicked(int, QListViewItem*, const QPoint&, int );
129 void slotDoubleClicked(QListViewItem*);
129 void slotFSActivated(int); 130 void slotFSActivated(int);
130 131
131protected: 132protected:
132 133
133 OFileSelector* selector(); 134 OFileSelector* selector();
134 135
135private: 136private:
136 QMap<QString, QString> m_dev; 137 QMap<QString, QString> m_dev;
137 bool m_all : 1; 138 bool m_all : 1;
138 OFileSelector* m_sel; 139 OFileSelector* m_sel;
139 QPopupMenu* m_fsPop; 140 QPopupMenu* m_fsPop;
140 bool compliesMime( const QString& ); 141 bool compliesMime( const QString& );
141 QStringList m_mimes; // used in compy mime 142 QStringList m_mimes; // used in compy mime
142 QString m_currentDir; 143 QString m_currentDir;
143 QToolButton *m_btnNew, *m_btnClose; 144 QToolButton *m_btnNew, *m_btnClose;
144 void connectSlots(); 145 void connectSlots();