summaryrefslogtreecommitdiff
path: root/libopie2/opieui/fileselector/ofileselector.cpp
Unidiff
Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp
index 5528aed..b06defd 100644
--- a/libopie2/opieui/fileselector/ofileselector.cpp
+++ b/libopie2/opieui/fileselector/ofileselector.cpp
@@ -53,27 +53,29 @@
53#include <qlineedit.h> 53#include <qlineedit.h>
54#include <qlistview.h> 54#include <qlistview.h>
55#include <qpopupmenu.h> 55#include <qpopupmenu.h>
56#include <qwidgetstack.h> 56#include <qwidgetstack.h>
57#include <qregexp.h> 57#include <qregexp.h>
58#include <qobjectlist.h> 58#include <qobjectlist.h>
59 59
60using namespace Opie::Ui::Internal; 60using namespace Opie::Ui::Internal;
61 61
62namespace Opie { 62namespace Opie {
63namespace Ui { 63namespace Ui {
64namespace Internal { 64namespace Internal {
65OFileViewInterface::OFileViewInterface( OFileSelector* selector ) 65OFileViewInterface::OFileViewInterface( OFileSelector* _selector )
66 : m_selector( selector ) 66 : m_selector( _selector )
67{} 67{
68 selector()->registerView( this );
69}
68 70
69OFileViewInterface::~OFileViewInterface() 71OFileViewInterface::~OFileViewInterface()
70{} 72{}
71 73
72QString OFileViewInterface::name()const 74QString OFileViewInterface::name()const
73{ 75{
74 return m_name; 76 return m_name;
75} 77}
76 78
77void OFileViewInterface::setName( const QString& name ) 79void OFileViewInterface::setName( const QString& name )
78{ 80{
79 m_name = name; 81 m_name = name;
@@ -502,25 +504,25 @@ int OFileViewFileListView::fileCount()const
502} 504}
503 505
504QString OFileViewFileListView::currentDir()const 506QString OFileViewFileListView::currentDir()const
505{ 507{
506 return m_currentDir; 508 return m_currentDir;
507} 509}
508 510
509OFileSelector* OFileViewFileListView::selector() 511OFileSelector* OFileViewFileListView::selector()
510{ 512{
511 return m_sel; 513 return m_sel;
512} 514}
513 515
514bool OFileViewFileListView::eventFilter (QObject *o, QEvent *e) 516bool OFileViewFileListView::eventFilter (QObject *, QEvent *e)
515{ 517{
516 if ( e->type() == QEvent::KeyPress ) 518 if ( e->type() == QEvent::KeyPress )
517 { 519 {
518 QKeyEvent *k = (QKeyEvent *)e; 520 QKeyEvent *k = (QKeyEvent *)e;
519 if ( (k->key()==Key_Enter) || (k->key()==Key_Return)) 521 if ( (k->key()==Key_Enter) || (k->key()==Key_Return))
520 { 522 {
521 slotClicked( Qt::LeftButton,m_view->currentItem(),QPoint(0,0),0); 523 slotClicked( Qt::LeftButton,m_view->currentItem(),QPoint(0,0),0);
522 return true; 524 return true;
523 } 525 }
524 } 526 }
525 return false; 527 return false;
526} 528}
@@ -938,25 +940,25 @@ void OFileSelector::initUI()
938 lay->addWidget( m_nameBox ); 940 lay->addWidget( m_nameBox );
939 941
940 m_cmbBox = new QHBox( this ); 942 m_cmbBox = new QHBox( this );
941 m_cmbView = new QComboBox( m_cmbBox ); 943 m_cmbView = new QComboBox( m_cmbBox );
942 m_cmbMime = new QComboBox( m_cmbBox ); 944 m_cmbMime = new QComboBox( m_cmbBox );
943 lay->addWidget( m_cmbBox ); 945 lay->addWidget( m_cmbBox );
944} 946}
945 947
946/* 948/*
947 * This will make sure that the return key in the name edit causes dialogs to close 949 * This will make sure that the return key in the name edit causes dialogs to close
948 */ 950 */
949 951
950bool OFileSelector::eventFilter (QObject *o, QEvent *e) 952bool OFileSelector::eventFilter (QObject *, QEvent *e)
951{ 953{
952 if ( e->type() == QEvent::KeyPress ) 954 if ( e->type() == QEvent::KeyPress )
953 { 955 {
954 QKeyEvent *k = (QKeyEvent *)e; 956 QKeyEvent *k = (QKeyEvent *)e;
955 if ( (k->key()==Key_Enter) || (k->key()==Key_Return)) 957 if ( (k->key()==Key_Enter) || (k->key()==Key_Return))
956 { 958 {
957 emit ok(); 959 emit ok();
958 return true; 960 return true;
959 } 961 }
960 } 962 }
961 return false; 963 return false;
962} 964}
@@ -989,29 +991,36 @@ void OFileSelector::initViews()
989 connect(m_cmbView, SIGNAL(activated(const QString&) ), 991 connect(m_cmbView, SIGNAL(activated(const QString&) ),
990 this, SLOT(slotViewChange(const QString&) ) ); 992 this, SLOT(slotViewChange(const QString&) ) );
991 993
992 994
993 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) ); 995 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) );
994 996
995 /* see above why add both */ 997 /* see above why add both */
996 OFileViewInterface* in = new OFileViewFileSystem( this ); 998 OFileViewInterface* in = new OFileViewFileSystem( this );
997 m_views.insert( QObject::tr("Files"), in ); 999 m_views.insert( QObject::tr("Files"), in );
998 m_views.insert( QObject::tr("All Files"), in ); 1000 m_views.insert( QObject::tr("All Files"), in );
999} 1001}
1000 1002
1003void OFileSelector::registerView( const Internal::OFileViewInterface* iface ) {
1004 m_viewsPtr.append( iface );
1005}
1006
1007
1001/** 1008/**
1002 * d'tor 1009 * d'tor
1003 */ 1010 */
1004OFileSelector::~OFileSelector() 1011OFileSelector::~OFileSelector()
1005{ 1012{
1013 m_viewsPtr.setAutoDelete( true );
1014 m_viewsPtr.clear();
1006} 1015}
1007 1016
1008 1017
1009 1018
1010/** 1019/**
1011 * Convience function for the fileselector 1020 * Convience function for the fileselector
1012 * make sure to delete the DocLnk 1021 * make sure to delete the DocLnk
1013 * 1022 *
1014 * @see DocLnk 1023 * @see DocLnk
1015 * @todo remove in ODP 1024 * @todo remove in ODP
1016 */ 1025 */
1017const DocLnk* OFileSelector::selected() 1026const DocLnk* OFileSelector::selected()