author | harlekin <harlekin> | 2004-06-19 10:18:25 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-06-19 10:18:25 (UTC) |
commit | e05195bbaf71fbfca033bef5855085772fa586eb (patch) (unidiff) | |
tree | 2e2aaf7a200ac7f4c2e4a8a76f62fb1ed2f5e590 | |
parent | 48ec0fc077b7834c49c1af1b1279f943ef58de41 (diff) | |
download | opie-e05195bbaf71fbfca033bef5855085772fa586eb.zip opie-e05195bbaf71fbfca033bef5855085772fa586eb.tar.gz opie-e05195bbaf71fbfca033bef5855085772fa586eb.tar.bz2 |
BUGFIX: 0001089 - remember Browse path when selecting a tab background image
-rw-r--r-- | core/settings/launcher/tabconfig.h | 1 | ||||
-rw-r--r-- | core/settings/launcher/tabdialog.cpp | 18 | ||||
-rw-r--r-- | core/settings/launcher/tabssettings.cpp | 6 |
3 files changed, 20 insertions, 5 deletions
diff --git a/core/settings/launcher/tabconfig.h b/core/settings/launcher/tabconfig.h index 9086341..84ba073 100644 --- a/core/settings/launcher/tabconfig.h +++ b/core/settings/launcher/tabconfig.h | |||
@@ -37,12 +37,13 @@ struct TabConfig { | |||
37 | SolidColor, | 37 | SolidColor, |
38 | Image | 38 | Image |
39 | }; | 39 | }; |
40 | 40 | ||
41 | ViewMode m_view; | 41 | ViewMode m_view; |
42 | BackgroundType m_bg_type; | 42 | BackgroundType m_bg_type; |
43 | QString m_last_directory; | ||
43 | QString m_bg_image; | 44 | QString m_bg_image; |
44 | QString m_bg_color; | 45 | QString m_bg_color; |
45 | QString m_text_color; | 46 | QString m_text_color; |
46 | bool m_font_use; | 47 | bool m_font_use; |
47 | QString m_font_family; | 48 | QString m_font_family; |
48 | int m_font_size; | 49 | int m_font_size; |
diff --git a/core/settings/launcher/tabdialog.cpp b/core/settings/launcher/tabdialog.cpp index 546e229..cef92d9 100644 --- a/core/settings/launcher/tabdialog.cpp +++ b/core/settings/launcher/tabdialog.cpp | |||
@@ -25,26 +25,31 @@ | |||
25 | 25 | ||
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include "tabdialog.h" | 28 | #include "tabdialog.h" |
29 | 29 | ||
30 | /* OPIE */ | 30 | /* OPIE */ |
31 | #include <qpe/resource.h> | 31 | |
32 | #include <opie2/ofontselector.h> | 32 | #include <opie2/ofontselector.h> |
33 | #include <opie2/otabwidget.h> | 33 | #include <opie2/otabwidget.h> |
34 | #include <opie2/ocolorbutton.h> | 34 | #include <opie2/ocolorbutton.h> |
35 | #include <opie2/ofiledialog.h> | 35 | #include <opie2/ofiledialog.h> |
36 | #include <opie2/odebug.h> | 36 | #include <opie2/odebug.h> |
37 | 37 | ||
38 | /* QPE */ | ||
39 | #include <qpe/resource.h> | ||
40 | #include <qpe/qpeapplication.h> | ||
41 | |||
38 | /* QT */ | 42 | /* QT */ |
39 | #include <qlayout.h> | 43 | #include <qlayout.h> |
40 | #include <qvbox.h> | 44 | #include <qvbox.h> |
41 | #include <qtabbar.h> | 45 | #include <qtabbar.h> |
42 | #include <qiconview.h> | 46 | #include <qiconview.h> |
43 | #include <qapplication.h> | 47 | #include <qapplication.h> |
44 | #include <qlabel.h> | 48 | #include <qlabel.h> |
49 | #include <qfileinfo.h> | ||
45 | #include <qradiobutton.h> | 50 | #include <qradiobutton.h> |
46 | #include <qbuttongroup.h> | 51 | #include <qbuttongroup.h> |
47 | #include <qwhatsthis.h> | 52 | #include <qwhatsthis.h> |
48 | #include <qcheckbox.h> | 53 | #include <qcheckbox.h> |
49 | 54 | ||
50 | 55 | ||
@@ -411,26 +416,27 @@ QWidget *TabDialog::createIconTab ( QWidget *parent ) | |||
411 | rb = new QRadioButton( tr( "Large" ), tab, "iconlarge" ); | 416 | rb = new QRadioButton( tr( "Large" ), tab, "iconlarge" ); |
412 | m_iconsize-> insert ( rb, TabConfig::Icon ); | 417 | m_iconsize-> insert ( rb, TabConfig::Icon ); |
413 | gridLayout-> addWidget( rb, 1, 1 ); | 418 | gridLayout-> addWidget( rb, 1, 1 ); |
414 | 419 | ||
415 | connect ( m_iconsize, SIGNAL( clicked(int)), this, SLOT( iconSizeClicked(int))); | 420 | connect ( m_iconsize, SIGNAL( clicked(int)), this, SLOT( iconSizeClicked(int))); |
416 | 421 | ||
417 | // vertLayout-> addSpacing ( 8 ); | ||
418 | |||
419 | // gridLayout = new QGridLayout ( vertLayout ); | ||
420 | gridLayout-> addRowSpacing ( 2, 8 ); | 422 | gridLayout-> addRowSpacing ( 2, 8 ); |
421 | 423 | ||
422 | label = new QLabel ( tr( "Color:" ), tab ); | 424 | label = new QLabel ( tr( "Color:" ), tab ); |
423 | gridLayout-> addWidget ( label, 3, 0 ); | 425 | gridLayout-> addWidget ( label, 3, 0 ); |
424 | 426 | ||
425 | m_iconcolor = new Opie::OColorButton ( tab, QColor ( m_tc. m_text_color ) ); | 427 | m_iconcolor = new Opie::OColorButton ( tab, QColor ( m_tc. m_text_color ) ); |
426 | connect ( m_iconcolor, SIGNAL( colorSelected(const QColor&)), this, SLOT( iconColorClicked(const QColor&))); | 428 | connect ( m_iconcolor, SIGNAL( colorSelected(const QColor&)), this, SLOT( iconColorClicked(const QColor&))); |
427 | gridLayout-> addWidget ( m_iconcolor, 3, 1, AlignLeft ); | 429 | gridLayout-> addWidget ( m_iconcolor, 3, 1, AlignLeft ); |
428 | 430 | ||
429 | vertLayout-> addStretch ( 10 ); | 431 | vertLayout-> addStretch ( 10 ); |
430 | 432 | ||
433 | if ( m_tc.m_last_directory == QString::null ) { | ||
434 | m_tc.m_last_directory = QPEApplication::documentDir(); | ||
435 | } | ||
436 | |||
431 | return tab; | 437 | return tab; |
432 | } | 438 | } |
433 | 439 | ||
434 | 440 | ||
435 | void TabDialog::iconSizeClicked ( int s ) | 441 | void TabDialog::iconSizeClicked ( int s ) |
436 | { | 442 | { |
@@ -477,14 +483,16 @@ void TabDialog::bgImageClicked ( ) | |||
477 | 483 | ||
478 | MimeTypes types; | 484 | MimeTypes types; |
479 | QStringList list; | 485 | QStringList list; |
480 | list << "image/*"; | 486 | list << "image/*"; |
481 | types. insert ( "Images", list ); | 487 | types. insert ( "Images", list ); |
482 | 488 | ||
483 | QString file = OFileDialog::getOpenFileName ( 1, "/", QString::null, types ); | 489 | QString file = OFileDialog::getOpenFileName ( 1, m_tc.m_last_directory, QString::null, types ); |
490 | |||
484 | if ( !file. isEmpty ( )) { | 491 | if ( !file. isEmpty ( )) { |
492 | m_tc.m_last_directory = QFileInfo( file ).dirPath(); | ||
485 | m_bgimage = DocLnk ( file ). file ( ); | 493 | m_bgimage = DocLnk ( file ). file ( ); |
486 | bgTypeClicked ( TabConfig::Image ); | 494 | bgTypeClicked ( TabConfig::Image ); |
487 | } | 495 | } |
488 | } | 496 | } |
489 | 497 | ||
490 | void TabDialog::bgDefaultClicked ( ) | 498 | void TabDialog::bgDefaultClicked ( ) |
diff --git a/core/settings/launcher/tabssettings.cpp b/core/settings/launcher/tabssettings.cpp index e5a7087..5ac625b 100644 --- a/core/settings/launcher/tabssettings.cpp +++ b/core/settings/launcher/tabssettings.cpp | |||
@@ -140,17 +140,19 @@ void TabsSettings::readTabSettings ( Config &cfg ) | |||
140 | global_def. m_font_family = font ( ). family ( ); | 140 | global_def. m_font_family = font ( ). family ( ); |
141 | global_def. m_font_size = font ( ). pointSize ( ); | 141 | global_def. m_font_size = font ( ). pointSize ( ); |
142 | global_def. m_font_weight = 50; | 142 | global_def. m_font_weight = 50; |
143 | global_def. m_font_italic = false; | 143 | global_def. m_font_italic = false; |
144 | global_def. m_changed = false; | 144 | global_def. m_changed = false; |
145 | 145 | ||
146 | Config cfg2 = Config( "Launchersettings" ); | ||
146 | 147 | ||
147 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { | 148 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { |
148 | TabConfig tc = ( it != m_ids. begin ( )) ? m_tabs [GLOBALID] : global_def; | 149 | TabConfig tc = ( it != m_ids. begin ( )) ? m_tabs [GLOBALID] : global_def; |
149 | 150 | ||
150 | cfg. setGroup ( grp. arg ( *it )); | 151 | cfg. setGroup ( grp. arg ( *it )); |
152 | cfg2. setGroup( grp. arg ( *it )); | ||
151 | 153 | ||
152 | QString view = cfg. readEntry ( "View" ); | 154 | QString view = cfg. readEntry ( "View" ); |
153 | if ( view == "Icon" ) // No tr | 155 | if ( view == "Icon" ) // No tr |
154 | tc. m_view = TabConfig::Icon; | 156 | tc. m_view = TabConfig::Icon; |
155 | if ( view == "List" ) // No tr | 157 | if ( view == "List" ) // No tr |
156 | tc. m_view = TabConfig::List; | 158 | tc. m_view = TabConfig::List; |
@@ -161,12 +163,13 @@ void TabsSettings::readTabSettings ( Config &cfg ) | |||
161 | else if ( bgType == "SolidColor" ) | 163 | else if ( bgType == "SolidColor" ) |
162 | tc. m_bg_type = TabConfig::SolidColor; | 164 | tc. m_bg_type = TabConfig::SolidColor; |
163 | else if ( bgType == "Image" ) // No tr | 165 | else if ( bgType == "Image" ) // No tr |
164 | tc. m_bg_type = TabConfig::Image; | 166 | tc. m_bg_type = TabConfig::Image; |
165 | 167 | ||
166 | tc. m_bg_image = cfg. readEntry ( "BackgroundImage", tc. m_bg_image ); | 168 | tc. m_bg_image = cfg. readEntry ( "BackgroundImage", tc. m_bg_image ); |
169 | tc. m_last_directory = cfg2.readEntry( "DefaultDir", "" ); | ||
167 | tc. m_bg_color = cfg. readEntry ( "BackgroundColor", tc. m_bg_color ); | 170 | tc. m_bg_color = cfg. readEntry ( "BackgroundColor", tc. m_bg_color ); |
168 | tc. m_text_color = cfg. readEntry ( "TextColor", tc. m_text_color ); | 171 | tc. m_text_color = cfg. readEntry ( "TextColor", tc. m_text_color ); |
169 | QStringList f = cfg. readListEntry ( "Font", ',' ); | 172 | QStringList f = cfg. readListEntry ( "Font", ',' ); |
170 | if ( f. count ( ) == 4 ) { | 173 | if ( f. count ( ) == 4 ) { |
171 | tc. m_font_use = true; | 174 | tc. m_font_use = true; |
172 | tc. m_font_family = f [0]; | 175 | tc. m_font_family = f [0]; |
@@ -197,23 +200,25 @@ void TabsSettings::readTabSettings ( Config &cfg ) | |||
197 | } | 200 | } |
198 | 201 | ||
199 | 202 | ||
200 | void TabsSettings::accept ( ) | 203 | void TabsSettings::accept ( ) |
201 | { | 204 | { |
202 | Config cfg ( "Launcher" ); | 205 | Config cfg ( "Launcher" ); |
206 | Config cfg2 ( "Launchersettings" ); | ||
203 | 207 | ||
204 | // Launcher Tab | 208 | // Launcher Tab |
205 | QString grp ( "Tab %1" ); // No tr | 209 | QString grp ( "Tab %1" ); // No tr |
206 | 210 | ||
207 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { | 211 | for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { |
208 | TabConfig &tc = m_tabs [*it]; | 212 | TabConfig &tc = m_tabs [*it]; |
209 | 213 | ||
210 | if ( !tc. m_changed ) | 214 | if ( !tc. m_changed ) |
211 | continue; | 215 | continue; |
212 | 216 | ||
213 | cfg. setGroup ( grp. arg ( *it )); | 217 | cfg. setGroup ( grp. arg ( *it )); |
218 | cfg2. setGroup ( grp. arg ( *it )); | ||
214 | switch ( tc. m_view ) { | 219 | switch ( tc. m_view ) { |
215 | case TabConfig::Icon: | 220 | case TabConfig::Icon: |
216 | cfg.writeEntry ( "View", "Icon" ); | 221 | cfg.writeEntry ( "View", "Icon" ); |
217 | break; | 222 | break; |
218 | case TabConfig::List: | 223 | case TabConfig::List: |
219 | cfg.writeEntry ( "View", "List" ); | 224 | cfg.writeEntry ( "View", "List" ); |
@@ -223,12 +228,13 @@ void TabsSettings::accept ( ) | |||
223 | QCopEnvelope e ( "QPE/Launcher", "setTabView(QString,int)" ); | 228 | QCopEnvelope e ( "QPE/Launcher", "setTabView(QString,int)" ); |
224 | e << *it << tc. m_view; | 229 | e << *it << tc. m_view; |
225 | 230 | ||
226 | cfg. writeEntry ( "BackgroundImage", tc. m_bg_image ); | 231 | cfg. writeEntry ( "BackgroundImage", tc. m_bg_image ); |
227 | cfg. writeEntry ( "BackgroundColor", tc. m_bg_color ); | 232 | cfg. writeEntry ( "BackgroundColor", tc. m_bg_color ); |
228 | cfg. writeEntry ( "TextColor", tc. m_text_color ); | 233 | cfg. writeEntry ( "TextColor", tc. m_text_color ); |
234 | cfg2. writeEntry ( "DefaultDir", tc.m_last_directory ); | ||
229 | 235 | ||
230 | if ( tc. m_font_use ) { | 236 | if ( tc. m_font_use ) { |
231 | QString f = tc. m_font_family + "," + QString::number ( tc. m_font_size ) + "," + QString::number ( tc. m_font_weight ) + "," + ( tc. m_font_italic ? "1" : "0" ); | 237 | QString f = tc. m_font_family + "," + QString::number ( tc. m_font_size ) + "," + QString::number ( tc. m_font_weight ) + "," + ( tc. m_font_italic ? "1" : "0" ); |
232 | cfg. writeEntry ( "Font", f ); | 238 | cfg. writeEntry ( "Font", f ); |
233 | } | 239 | } |
234 | else | 240 | else |