author | alwin <alwin> | 2004-02-22 19:55:11 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-02-22 19:55:11 (UTC) |
commit | 5738a3d33bdaeb69994f70fd5ec8aa49df98ceeb (patch) (unidiff) | |
tree | bf44986448a8987633e3f92a7a627e69c67f1037 | |
parent | 8705083d6a267450c71b0276833db5c7238f260e (diff) | |
download | opie-5738a3d33bdaeb69994f70fd5ec8aa49df98ceeb.zip opie-5738a3d33bdaeb69994f70fd5ec8aa49df98ceeb.tar.gz opie-5738a3d33bdaeb69994f70fd5ec8aa49df98ceeb.tar.bz2 |
flag for setting search the whole media not such subdirs
-rw-r--r-- | noncore/settings/mediummount/mediumwidget.cc | 23 | ||||
-rw-r--r-- | noncore/settings/mediummount/mediumwidget.h | 2 |
2 files changed, 22 insertions, 3 deletions
diff --git a/noncore/settings/mediummount/mediumwidget.cc b/noncore/settings/mediummount/mediumwidget.cc index caa9559..f39a6ed 100644 --- a/noncore/settings/mediummount/mediumwidget.cc +++ b/noncore/settings/mediummount/mediumwidget.cc | |||
@@ -33,201 +33,218 @@ MediumMountWidget::MediumMountWidget(const QString &path, | |||
33 | { | 33 | { |
34 | if(parent == 0){ | 34 | if(parent == 0){ |
35 | resize(QApplication::desktop()->width(), QApplication::desktop()->height() ); | 35 | resize(QApplication::desktop()->width(), QApplication::desktop()->height() ); |
36 | }else{ | 36 | }else{ |
37 | resize(parent->width(), parent->height() ); | 37 | resize(parent->width(), parent->height() ); |
38 | } | 38 | } |
39 | m_path = path; | 39 | m_path = path; |
40 | initGUI(); | 40 | initGUI(); |
41 | m_label->setPixmap(pix ); | 41 | m_label->setPixmap(pix ); |
42 | m_config = 0; | 42 | m_config = 0; |
43 | 43 | ||
44 | readConfig(); | 44 | readConfig(); |
45 | } | 45 | } |
46 | // now we fire up the GUI | 46 | // now we fire up the GUI |
47 | // if I would know what I'm doing ;) | 47 | // if I would know what I'm doing ;) |
48 | void MediumMountWidget::initGUI() | 48 | void MediumMountWidget::initGUI() |
49 | { | 49 | { |
50 | //main layout | 50 | //main layout |
51 | m_box = new QVBoxLayout( this , 5, 5 ); | 51 | m_box = new QVBoxLayout( this , 5, 5 ); |
52 | //m_box->setSpacing( 5 ); | 52 | //m_box->setSpacing( 5 ); |
53 | //m_box->addStretch( -1 ); | 53 | //m_box->addStretch( -1 ); |
54 | 54 | ||
55 | // picture + text | 55 | // picture + text |
56 | m_infoBox = new QHBox(this, "infobox" ); | 56 | m_infoBox = new QHBox(this, "infobox" ); |
57 | //m_infoBox->setSpacing( 4 ); | 57 | //m_infoBox->setSpacing( 4 ); |
58 | m_label = new QLabel(m_infoBox ); | 58 | m_label = new QLabel(m_infoBox ); |
59 | m_desc = new QLabel(m_infoBox ); | 59 | m_desc = new QLabel(m_infoBox ); |
60 | m_desc->setTextFormat( Qt::RichText ); | 60 | m_desc->setTextFormat( Qt::RichText ); |
61 | QWhatsThis::add( this, tr("Configure this medium. The changes will" | 61 | QWhatsThis::add( this, tr("Configure this medium. The changes will" |
62 | " go into effect when the application gets" | 62 | " go into effect when the application gets" |
63 | " closed. To update the Document Tab you need" | 63 | " closed. To update the Document Tab you need" |
64 | " to remove and insert this medium.")); | 64 | " to remove and insert this medium.")); |
65 | m_desc->setText("" ); | 65 | m_desc->setText("" ); |
66 | m_box->addWidget( m_infoBox ); // add the widget to the layout | 66 | m_box->addWidget( m_infoBox ); // add the widget to the layout |
67 | 67 | ||
68 | 68 | ||
69 | // groupbox | 69 | // groupbox |
70 | m_group = new QGroupBox(tr("Which media files"), this, "MediaFiles" ); | 70 | m_group = new QGroupBox(tr("Which media files"), this, "MediaFiles" ); |
71 | m_checks = new QGridLayout( m_group, 4, 3 ); | 71 | m_checks = new QGridLayout( m_group, 4, 3 ); |
72 | //m_checks->setMargin( 12 ); | 72 | //m_checks->setMargin( 12 ); |
73 | 73 | ||
74 | 74 | ||
75 | 75 | ||
76 | QSpacerItem *item2 = new QSpacerItem(5, 8, | 76 | QSpacerItem *item2 = new QSpacerItem(5, 8, |
77 | QSizePolicy::Fixed, | 77 | QSizePolicy::Fixed, |
78 | QSizePolicy::Fixed); | 78 | QSizePolicy::Fixed); |
79 | m_box->addItem( item2 ); | 79 | m_box->addItem( item2 ); |
80 | 80 | ||
81 | m_audio = new QCheckBox( tr("Audio"), m_group ); | 81 | m_audio = new QCheckBox( tr("Audio"), m_group ); |
82 | m_all = new QCheckBox( tr("All") , m_group ); | 82 | m_all = new QCheckBox( tr("All") , m_group ); |
83 | m_image = new QCheckBox( tr("Image"), m_group ); | 83 | m_image = new QCheckBox( tr("Image"), m_group ); |
84 | m_text = new QCheckBox( tr("Text") , m_group ); | 84 | m_text = new QCheckBox( tr("Text") , m_group ); |
85 | m_video = new QCheckBox( tr("Video"), m_group ); | 85 | m_video = new QCheckBox( tr("Video"), m_group ); |
86 | 86 | ||
87 | QSpacerItem *iti1b = new QSpacerItem(2, 10, QSizePolicy::Fixed, | 87 | QSpacerItem *iti1b = new QSpacerItem(2, 10, QSizePolicy::Fixed, |
88 | QSizePolicy::Fixed ); | 88 | QSizePolicy::Fixed ); |
89 | m_checks->addItem( iti1b, 0, 0 ); | 89 | m_checks->addItem( iti1b, 0, 0 ); |
90 | 90 | ||
91 | m_checks->addWidget(m_audio, 1, 0 ); | 91 | m_checks->addWidget(m_audio, 1, 0 ); |
92 | m_checks->addWidget(m_image, 2, 0 ); | 92 | m_checks->addWidget(m_image, 2, 0 ); |
93 | m_checks->addWidget(m_all , 3, 0 ); | 93 | m_checks->addWidget(m_all , 3, 0 ); |
94 | 94 | ||
95 | m_checks->addWidget(m_text, 1, 2 ); | 95 | m_checks->addWidget(m_text, 1, 2 ); |
96 | m_checks->addWidget(m_video, 2, 2 ); | 96 | m_checks->addWidget(m_video, 2, 2 ); |
97 | 97 | ||
98 | m_checks->addRowSpacing(0, 8 ); | 98 | m_checks->addRowSpacing(0, 8 ); |
99 | m_checks->addColSpacing(1, 2 ); | 99 | m_checks->addColSpacing(1, 2 ); |
100 | m_checks->setColStretch(1, -2 ); | 100 | m_checks->setColStretch(1, -2 ); |
101 | 101 | ||
102 | connect(m_all, SIGNAL(stateChanged(int) ), | 102 | connect(m_all, SIGNAL(stateChanged(int) ), |
103 | this, SLOT(slotStateChanged() ) ); | 103 | this, SLOT(slotStateChanged() ) ); |
104 | 104 | ||
105 | m_box->addWidget( m_group ); | 105 | m_box->addWidget( m_group ); |
106 | 106 | ||
107 | // label | 107 | // label |
108 | m_lblPath = new QLabel(tr("Limit search to:"), this ); | 108 | m_lblPath = new QLabel(tr("Limit search to:"), this ); |
109 | m_box->addWidget( m_lblPath ); | 109 | m_box->addWidget( m_lblPath ); |
110 | 110 | ||
111 | 111 | ||
112 | m_subList = new QComboBox(FALSE,this,"docFolderList"); | 112 | m_subList = new QComboBox(FALSE,this,"docFolderList"); |
113 | m_subList->setDuplicatesEnabled(FALSE); | 113 | m_subList->setDuplicatesEnabled(FALSE); |
114 | m_subList->setEditable(TRUE); | 114 | m_subList->setEditable(TRUE); |
115 | m_box->addWidget(m_subList); | 115 | m_box->addWidget(m_subList); |
116 | 116 | ||
117 | m_hboxAdd = new QHBox( this ); | 117 | m_hboxAdd = new QHBox( this ); |
118 | m_add = new QPushButton(m_hboxAdd ); | 118 | m_add = new QPushButton(m_hboxAdd ); |
119 | m_add->setText( tr("Add") ); | 119 | m_add->setText( tr("Add") ); |
120 | m_del = new QPushButton(m_hboxAdd); | 120 | m_del = new QPushButton(m_hboxAdd); |
121 | m_del->setText(tr("Remove")); | 121 | m_del->setText(tr("Remove")); |
122 | 122 | ||
123 | connect(m_add, SIGNAL(clicked() ), | 123 | connect(m_add, SIGNAL(clicked() ), |
124 | this, SLOT(slotAdd() ) ); | 124 | this, SLOT(slotAdd() ) ); |
125 | connect(m_del, SIGNAL(clicked() ), | 125 | connect(m_del, SIGNAL(clicked() ), |
126 | this, SLOT(slotRemove() ) ); | 126 | this, SLOT(slotRemove() ) ); |
127 | 127 | ||
128 | m_box->addWidget(m_hboxAdd ); | 128 | m_box->addWidget(m_hboxAdd ); |
129 | 129 | m_scan_all_check = new QCheckBox( tr("Scan whole media"), this ); | |
130 | connect(m_scan_all_check,SIGNAL(stateChanged(int)),this,SLOT(slotScanAllChanged(int))); | ||
131 | |||
132 | m_box->addWidget(m_scan_all_check); | ||
133 | |||
130 | m_always = new QCheckBox( tr("Always check this medium"), this ); | 134 | m_always = new QCheckBox( tr("Always check this medium"), this ); |
131 | 135 | ||
132 | m_box->addWidget( m_always ); | 136 | m_box->addWidget( m_always ); |
133 | 137 | ||
134 | QSpacerItem *item = new QSpacerItem(5, 50, | 138 | QSpacerItem *item = new QSpacerItem(5, 50, |
135 | QSizePolicy::Fixed, | 139 | QSizePolicy::Fixed, |
136 | QSizePolicy::Expanding ); | 140 | QSizePolicy::Expanding ); |
137 | m_box->addItem(item ); | 141 | m_box->addItem(item ); |
138 | } | 142 | } |
139 | 143 | ||
140 | void MediumMountWidget::readConfig( ) | 144 | void MediumMountWidget::readConfig( ) |
141 | { | 145 | { |
142 | if( m_config == 0 ) | 146 | if( m_config == 0 ) |
143 | m_config = new Config(m_path + "/.opiestorage.cf", Config::File ); | 147 | m_config = new Config(m_path + "/.opiestorage.cf", Config::File ); |
144 | m_config->setGroup( "main" ); | 148 | m_config->setGroup( "main" ); |
145 | 149 | ||
146 | m_always->setChecked( m_config->readBoolEntry("check", false) ); | 150 | m_always->setChecked( m_config->readBoolEntry("check", false) ); |
147 | 151 | ||
148 | m_config->setGroup( "mimetypes" ); | 152 | m_config->setGroup( "mimetypes" ); |
149 | if( m_config->readBoolEntry("all", false ) ){ | 153 | if( m_config->readBoolEntry("all", false ) ){ |
150 | m_audio->setEnabled( false ); | 154 | m_audio->setEnabled( false ); |
151 | m_image->setEnabled( false ); | 155 | m_image->setEnabled( false ); |
152 | m_text->setEnabled ( false ); | 156 | m_text->setEnabled ( false ); |
153 | m_video->setEnabled( false ); | 157 | m_video->setEnabled( false ); |
154 | m_all->setChecked( true ); | 158 | m_all->setChecked( true ); |
155 | }else{ | 159 | }else{ |
156 | m_audio->setEnabled( true ); | 160 | m_audio->setEnabled( true ); |
157 | m_image->setEnabled( true ); | 161 | m_image->setEnabled( true ); |
158 | m_text->setEnabled ( true ); | 162 | m_text->setEnabled ( true ); |
159 | m_all->setEnabled ( true ); | 163 | m_all->setEnabled ( true ); |
160 | 164 | ||
161 | m_all->setChecked( false ); | 165 | m_all->setChecked( false ); |
162 | 166 | ||
163 | m_audio->setChecked( m_config->readBoolEntry("audio", true ) ); | 167 | m_audio->setChecked( m_config->readBoolEntry("audio", true ) ); |
164 | m_image->setChecked( m_config->readBoolEntry("image", true ) ); | 168 | m_image->setChecked( m_config->readBoolEntry("image", true ) ); |
165 | m_text->setChecked ( m_config->readBoolEntry("text" , true ) ); | 169 | m_text->setChecked ( m_config->readBoolEntry("text" , true ) ); |
166 | m_video->setChecked( m_config->readBoolEntry("video", true ) ); | 170 | m_video->setChecked( m_config->readBoolEntry("video", true ) ); |
167 | }; | 171 | }; |
168 | m_config->setGroup("subdirs"); | 172 | m_config->setGroup("subdirs"); |
169 | QStringList entries = m_config->readListEntry("subdirs",':'); | 173 | QStringList entries = m_config->readListEntry("subdirs",':'); |
170 | m_subList->clear(); | 174 | m_subList->clear(); |
171 | m_subList->insertStringList(entries); | 175 | m_subList->insertStringList(entries); |
176 | m_scan_all_check->setChecked(m_config->readBoolEntry("wholemedia",true)); | ||
172 | } | 177 | } |
173 | 178 | ||
174 | void MediumMountWidget::writeConfig() | 179 | void MediumMountWidget::writeConfig() |
175 | { | 180 | { |
176 | m_config->setGroup("main"); | 181 | m_config->setGroup("main"); |
177 | m_config->writeEntry("check", m_always->isChecked() ); | 182 | m_config->writeEntry("check", m_always->isChecked() ); |
178 | 183 | ||
179 | m_config->setGroup("mimetypes" ); | 184 | m_config->setGroup("mimetypes" ); |
180 | if(m_all->isChecked() ){ | 185 | if(m_all->isChecked() ){ |
181 | m_config->writeEntry("all", true ); | 186 | m_config->writeEntry("all", true ); |
182 | }else{ | 187 | }else{ |
183 | m_config->writeEntry("audio", m_audio->isChecked() ); | 188 | m_config->writeEntry("audio", m_audio->isChecked() ); |
184 | m_config->writeEntry("image", m_image->isChecked() ); | 189 | m_config->writeEntry("image", m_image->isChecked() ); |
185 | m_config->writeEntry("text" , m_text->isChecked() ); | 190 | m_config->writeEntry("text" , m_text->isChecked() ); |
186 | m_config->writeEntry("video", m_video->isChecked() ); | 191 | m_config->writeEntry("video", m_video->isChecked() ); |
187 | } | 192 | } |
188 | m_config->setGroup("subdirs"); | 193 | m_config->setGroup("subdirs"); |
189 | QStringList entries; | 194 | QStringList entries; |
190 | QString ctext; | 195 | QString ctext; |
191 | for (int i = 0; i < m_subList->count();++i) { | 196 | for (int i = 0; i < m_subList->count();++i) { |
192 | ctext = m_subList->text(i); | 197 | ctext = m_subList->text(i); |
193 | if (ctext.isEmpty()) | 198 | if (ctext.isEmpty()) |
194 | continue; | 199 | continue; |
195 | if (ctext.startsWith("/")&&ctext.length()>1) { | 200 | if (ctext.startsWith("/")) { |
196 | ctext = ctext.right(ctext.length()-1); | 201 | ctext = ctext.right(ctext.length()-1); |
197 | } | 202 | } |
198 | entries.append(ctext); | 203 | if (!ctext.isEmpty()) { |
204 | entries.append(ctext); | ||
205 | } | ||
199 | } | 206 | } |
200 | m_config->writeEntry("subdirs",entries,':'); | 207 | m_config->writeEntry("subdirs",entries,':'); |
208 | m_config->writeEntry("wholemedia",m_scan_all_check->isChecked()); | ||
201 | } | 209 | } |
210 | |||
202 | MediumMountWidget::~MediumMountWidget() | 211 | MediumMountWidget::~MediumMountWidget() |
203 | { | 212 | { |
204 | delete m_config; | 213 | delete m_config; |
205 | } | 214 | } |
206 | 215 | ||
207 | void MediumMountWidget::slotAdd() | 216 | void MediumMountWidget::slotAdd() |
208 | { | 217 | { |
209 | if (m_subList->currentText()==m_subList->text(m_subList->currentItem())) | 218 | if (m_subList->currentText()==m_subList->text(m_subList->currentItem())) |
210 | return; | 219 | return; |
211 | m_subList->insertItem(m_subList->currentText()); | 220 | m_subList->insertItem(m_subList->currentText()); |
212 | } | 221 | } |
213 | 222 | ||
214 | void MediumMountWidget::slotRemove() | 223 | void MediumMountWidget::slotRemove() |
215 | { | 224 | { |
216 | QString text = m_subList->currentText(); | 225 | QString text = m_subList->currentText(); |
217 | if (text != m_subList->text(m_subList->currentItem())) { | 226 | if (text != m_subList->text(m_subList->currentItem())) { |
218 | m_subList->clearEdit (); | 227 | m_subList->clearEdit (); |
219 | } else { | 228 | } else { |
220 | m_subList->removeItem(m_subList->currentItem()); | 229 | m_subList->removeItem(m_subList->currentItem()); |
221 | } | 230 | } |
222 | } | 231 | } |
223 | 232 | ||
224 | void MediumMountWidget::slotStateChanged() | 233 | void MediumMountWidget::slotStateChanged() |
225 | { | 234 | { |
226 | bool state = !(m_all->isChecked()); | 235 | bool state = !(m_all->isChecked()); |
227 | 236 | ||
228 | m_audio->setEnabled( state ); | 237 | m_audio->setEnabled( state ); |
229 | m_text->setEnabled ( state ); | 238 | m_text->setEnabled ( state ); |
230 | m_video->setEnabled( state ); | 239 | m_video->setEnabled( state ); |
231 | m_image->setEnabled( state ); | 240 | m_image->setEnabled( state ); |
232 | 241 | ||
233 | } | 242 | } |
243 | |||
244 | void MediumMountWidget::slotScanAllChanged(int) | ||
245 | { | ||
246 | bool state = !(m_scan_all_check->isChecked()); | ||
247 | m_add->setEnabled(state); | ||
248 | m_del->setEnabled(state); | ||
249 | m_subList->setEnabled(state); | ||
250 | } | ||
diff --git a/noncore/settings/mediummount/mediumwidget.h b/noncore/settings/mediummount/mediumwidget.h index 28ae369..ae5c5dc 100644 --- a/noncore/settings/mediummount/mediumwidget.h +++ b/noncore/settings/mediummount/mediumwidget.h | |||
@@ -1,82 +1,84 @@ | |||
1 | 1 | ||
2 | #ifndef MediumMountWidget_H | 2 | #ifndef MediumMountWidget_H |
3 | #define MediumMountWidget_H | 3 | #define MediumMountWidget_H |
4 | 4 | ||
5 | //#include <qpixmap.h> | 5 | //#include <qpixmap.h> |
6 | #include <qwidget.h> | 6 | #include <qwidget.h> |
7 | 7 | ||
8 | 8 | ||
9 | class QLabel; | 9 | class QLabel; |
10 | class QPixmap; | 10 | class QPixmap; |
11 | class Config; | 11 | class Config; |
12 | class QGridLayout; | 12 | class QGridLayout; |
13 | class QCheckBox; | 13 | class QCheckBox; |
14 | class QPushButton; | 14 | class QPushButton; |
15 | class QVBoxLayout; | 15 | class QVBoxLayout; |
16 | class QHBoxLayout; | 16 | class QHBoxLayout; |
17 | class QGroupBox; | 17 | class QGroupBox; |
18 | class QVBox; | 18 | class QVBox; |
19 | class QHBox; | 19 | class QHBox; |
20 | class QLineEdit; | 20 | class QLineEdit; |
21 | class QComboBox; | 21 | class QComboBox; |
22 | 22 | ||
23 | namespace MediumMountSetting { | 23 | namespace MediumMountSetting { |
24 | 24 | ||
25 | class MediumMountWidget : public QWidget { | 25 | class MediumMountWidget : public QWidget { |
26 | Q_OBJECT | 26 | Q_OBJECT |
27 | public: | 27 | public: |
28 | MediumMountWidget(const QString&, const QPixmap &, QWidget *parent, const char *name = 0 ); | 28 | MediumMountWidget(const QString&, const QPixmap &, QWidget *parent, const char *name = 0 ); |
29 | ~MediumMountWidget(); | 29 | ~MediumMountWidget(); |
30 | 30 | ||
31 | 31 | ||
32 | void writeConfig(); | 32 | void writeConfig(); |
33 | 33 | ||
34 | private slots: | 34 | private slots: |
35 | void slotAdd(); | 35 | void slotAdd(); |
36 | void slotRemove(); | 36 | void slotRemove(); |
37 | void slotStateChanged(); | 37 | void slotStateChanged(); |
38 | void slotScanAllChanged(int); | ||
38 | 39 | ||
39 | private: | 40 | private: |
40 | void readConfig(); | 41 | void readConfig(); |
41 | void initGUI(); | 42 | void initGUI(); |
42 | 43 | ||
43 | bool m_dirty : 1; | 44 | bool m_dirty : 1; |
44 | 45 | ||
45 | class MediumMountWidgetPrivate; | 46 | class MediumMountWidgetPrivate; |
46 | MediumMountWidgetPrivate *d; | 47 | MediumMountWidgetPrivate *d; |
47 | 48 | ||
48 | QString m_path; | 49 | QString m_path; |
49 | 50 | ||
50 | Config *m_config; | 51 | Config *m_config; |
51 | 52 | ||
52 | QHBox *m_infoBox; | 53 | QHBox *m_infoBox; |
53 | QLabel *m_label; | 54 | QLabel *m_label; |
54 | QLabel *m_desc; | 55 | QLabel *m_desc; |
55 | 56 | ||
56 | QPushButton *m_add; | 57 | QPushButton *m_add; |
57 | QComboBox *m_subList; | 58 | QComboBox *m_subList; |
58 | QPushButton *m_del; | 59 | QPushButton *m_del; |
59 | 60 | ||
60 | QVBoxLayout *m_box; | 61 | QVBoxLayout *m_box; |
61 | QGridLayout *m_checks; | 62 | QGridLayout *m_checks; |
62 | 63 | ||
63 | QGroupBox *m_group; | 64 | QGroupBox *m_group; |
64 | QCheckBox *m_all; | 65 | QCheckBox *m_all; |
65 | QCheckBox *m_audio; | 66 | QCheckBox *m_audio; |
66 | QCheckBox *m_image; | 67 | QCheckBox *m_image; |
67 | QCheckBox *m_text; | 68 | QCheckBox *m_text; |
68 | QCheckBox *m_video; | 69 | QCheckBox *m_video; |
69 | 70 | ||
71 | QCheckBox *m_scan_all_check; | ||
70 | QCheckBox *m_always; | 72 | QCheckBox *m_always; |
71 | //QCheckBox *m_yesNo; | 73 | //QCheckBox *m_yesNo; |
72 | 74 | ||
73 | QHBox *m_hboxAdd; | 75 | QHBox *m_hboxAdd; |
74 | 76 | ||
75 | QLabel *m_lblPath; | 77 | QLabel *m_lblPath; |
76 | //////////////// | 78 | //////////////// |
77 | 79 | ||
78 | 80 | ||
79 | 81 | ||
80 | }; | 82 | }; |
81 | }; | 83 | }; |
82 | #endif | 84 | #endif |