summaryrefslogtreecommitdiff
path: root/core/settings/launcher/tabssettings.cpp
Unidiff
Diffstat (limited to 'core/settings/launcher/tabssettings.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/launcher/tabssettings.cpp170
1 files changed, 109 insertions, 61 deletions
diff --git a/core/settings/launcher/tabssettings.cpp b/core/settings/launcher/tabssettings.cpp
index 292c615..fc2d2c9 100644
--- a/core/settings/launcher/tabssettings.cpp
+++ b/core/settings/launcher/tabssettings.cpp
@@ -27,49 +27,63 @@
27#include <qpe/qcopenvelope_qws.h> 27#include <qpe/qcopenvelope_qws.h>
28#include <qpe/config.h> 28#include <qpe/config.h>
29 29
30#include <qlistview.h> 30#include <qlistbox.h>
31#include <qheader.h> 31#include <qpushbutton.h>
32#include <qlayout.h> 32#include <qlayout.h>
33#include <qlabel.h> 33#include <qlabel.h>
34#include <qwhatsthis.h> 34#include <qwhatsthis.h>
35 35
36#include "tabdialog.h"
37
36#include <stdlib.h> 38#include <stdlib.h>
39#include <qmessagebox.h>
40
41
37 42
38TabsSettings::TabsSettings ( QWidget *parent, const char *name ) 43TabsSettings::TabsSettings ( QWidget *parent, const char *name )
39 : QWidget ( parent, name ) 44 : QWidget ( parent, name )
40{ 45{
41 QBoxLayout *lay = new QVBoxLayout ( this, 4, 4 ); 46 QGridLayout *lay = new QGridLayout ( this, 0, 0, 4, 4 );
42 47
43 QLabel *l = new QLabel ( tr( "Launcher Tabs:" ), this ); 48 QLabel *l = new QLabel ( tr( "Launcher Tabs:" ), this );
44 lay-> addWidget ( l ); 49 lay-> addMultiCellWidget ( l, 0, 0, 0, 1 );
45 50
46 m_list = new QListView ( this ); 51 m_list = new QListBox ( this );
47 m_list-> addColumn ( "foobar" ); 52 lay-> addMultiCellWidget ( m_list, 1, 4, 0, 0 );
48 m_list-> header ( )-> hide ( );
49
50 lay-> addWidget ( m_list );
51 53
52 QWhatsThis::add ( m_list, tr( "foobar" )); 54 QWhatsThis::add ( m_list, tr( "foobar" ));
55
56 QPushButton *p;
57 p = new QPushButton ( tr( "New" ), this );
58 lay-> addWidget ( p, 1, 1 );
59 connect ( p, SIGNAL( clicked ( )), this, SLOT( newClicked ( )));
60
61 p = new QPushButton ( tr( "Edit" ), this );
62 lay-> addWidget ( p, 2, 1 );
63 connect ( p, SIGNAL( clicked ( )), this, SLOT( editClicked ( )));
64
65 p = new QPushButton ( tr( "Delete" ), this );
66 lay-> addWidget ( p, 3, 1 );
67 connect ( p, SIGNAL( clicked ( )), this, SLOT( deleteClicked ( )));
68
69 lay-> setRowStretch ( 4, 10 );
53 70
54 init ( ); 71 init ( );
55} 72}
56 73
57void TabsSettings::init ( ) 74void TabsSettings::init ( )
58{ 75{
59 QListViewItem *lvi;
60
61 AppLnkSet rootFolder( MimeType::appsFolderName ( )); 76 AppLnkSet rootFolder( MimeType::appsFolderName ( ));
62 QStringList types = rootFolder. types ( ); 77 QStringList types = rootFolder. types ( );
78
63 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { 79 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) {
64 lvi = new QListViewItem ( m_list, rootFolder. typeName ( *it )); 80 m_list-> insertItem ( rootFolder. typePixmap ( *it ), rootFolder. typeName ( *it ));
65 lvi-> setPixmap ( 0, rootFolder. typePixmap ( *it ));
66 m_ids << *it; 81 m_ids << *it;
67 } 82 }
68 QImage img ( Resource::loadImage ( "DocsIcon" )); 83 QImage img ( Resource::loadImage ( "DocsIcon" ));
69 QPixmap pix; 84 QPixmap pix;
70 pix = img. smoothScale ( AppLnk::smallIconSize ( ), AppLnk::smallIconSize ( )); 85 pix = img. smoothScale ( AppLnk::smallIconSize ( ), AppLnk::smallIconSize ( ));
71 lvi = new QListViewItem ( m_list, tr( "Documents" )); 86 m_list-> insertItem ( pix, tr( "Documents" ));
72 lvi-> setPixmap ( 0, pix );
73 m_ids += "Documents"; // No tr 87 m_ids += "Documents"; // No tr
74 88
75 readTabSettings ( ); 89 readTabSettings ( );
@@ -82,35 +96,35 @@ void TabsSettings::readTabSettings ( )
82 m_tabs. clear ( ); 96 m_tabs. clear ( );
83 97
84 for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { 98 for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) {
85 TabSettings ts; 99 TabConfig tc;
86 ts. m_view = Icon; 100 tc. m_view = TabConfig::Icon;
87 ts. m_bg_type = Ruled; 101 tc. m_bg_type = TabConfig::Ruled;
88 ts. m_changed = false; 102 tc. m_changed = false;
89 103
90 cfg. setGroup ( grp. arg ( *it )); 104 cfg. setGroup ( grp. arg ( *it ));
91 105
92 QString view = cfg. readEntry ( "View", "Icon" ); 106 QString view = cfg. readEntry ( "View", "Icon" );
93 if ( view == "List" ) // No tr 107 if ( view == "List" ) // No tr
94 ts. m_view = List; 108 tc. m_view = TabConfig::List;
95 109
96 QString bgType = cfg. readEntry ( "BackgroundType", "Ruled" ); 110 QString bgType = cfg. readEntry ( "BackgroundType", "Ruled" );
97 if ( bgType == "SolidColor" ) 111 if ( bgType == "SolidColor" )
98 ts. m_bg_type = SolidColor; 112 tc. m_bg_type = TabConfig::SolidColor;
99 else if ( bgType == "Image" ) // No tr 113 else if ( bgType == "Image" ) // No tr
100 ts. m_bg_type = Image; 114 tc. m_bg_type = TabConfig::Image;
101 115
102 ts. m_bg_image = cfg. readEntry ( "BackgroundImage", "wallpaper/opie" ); 116 tc. m_bg_image = cfg. readEntry ( "BackgroundImage", "wallpaper/opie" );
103 ts. m_bg_color = cfg. readEntry ( "BackgroundColor" ); 117 tc. m_bg_color = cfg. readEntry ( "BackgroundColor" );
104 ts. m_text_color = cfg. readEntry ( "TextColor" ); 118 tc. m_text_color = cfg. readEntry ( "TextColor" );
105 QStringList f = cfg. readListEntry ( "Font", ',' ); 119 QStringList f = cfg. readListEntry ( "Font", ',' );
106 if ( f. count ( ) == 4 ) { 120 if ( f. count ( ) == 4 ) {
107 ts. m_font_family = f [0]; 121 tc. m_font_family = f [0];
108 ts. m_font_size = f [1]. toInt ( ); 122 tc. m_font_size = f [1]. toInt ( );
109 } else { 123 } else {
110 ts. m_font_family = font ( ). family ( ); 124 tc. m_font_family = font ( ). family ( );
111 ts. m_font_size = font ( ). pointSize ( ); 125 tc. m_font_size = font ( ). pointSize ( );
112 } 126 }
113 m_tabs [*it] = ts; 127 m_tabs [*it] = tc;
114 } 128 }
115} 129}
116 130
@@ -123,55 +137,89 @@ void TabsSettings::accept ( )
123 QString grp ( "Tab %1" ); // No tr 137 QString grp ( "Tab %1" ); // No tr
124 138
125 for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) { 139 for ( QStringList::Iterator it = m_ids. begin ( ); it != m_ids. end ( ); ++it ) {
126 TabSettings &tab = m_tabs [*it]; 140 TabConfig &tc = m_tabs [*it];
127 141
128 cfg. setGroup ( grp. arg ( *it )); 142 cfg. setGroup ( grp. arg ( *it ));
129 if ( !tab. m_changed ) 143 if ( !tc. m_changed )
130 continue; 144 continue;
131 switch ( tab. m_view ) { 145 switch ( tc. m_view ) {
132 case Icon: 146 case TabConfig::Icon:
133 cfg.writeEntry ( "View", "Icon" ); 147 cfg.writeEntry ( "View", "Icon" );
134 break; 148 break;
135 case List: 149 case TabConfig::List:
136 cfg.writeEntry ( "View", "List" ); 150 cfg.writeEntry ( "View", "List" );
137 break; 151 break;
138 } 152 }
139 153
140 QCopEnvelope e ( "QPE/Launcher", "setTabView(QString,int)" ); 154 QCopEnvelope e ( "QPE/Launcher", "setTabView(QString,int)" );
141 e << *it << tab. m_view; 155 e << *it << tc. m_view;
142 156
143 cfg. writeEntry ( "BackgroundImage", tab. m_bg_image ); 157 cfg. writeEntry ( "BackgroundImage", tc. m_bg_image );
144 cfg. writeEntry ( "BackgroundColor", tab. m_bg_color ); 158 cfg. writeEntry ( "BackgroundColor", tc. m_bg_color );
145 cfg. writeEntry ( "TextColor", tab. m_text_color ); 159 cfg. writeEntry ( "TextColor", tc. m_text_color );
146 160
147 QString f = tab. m_font_family + "," + QString::number ( tab. m_font_size ) + ",50,0"; 161 QString f = tc. m_font_family + "," + QString::number ( tc. m_font_size ) + ",50,0";
148 cfg. writeEntry ( "Font", f ); 162 cfg. writeEntry ( "Font", f );
149 QCopEnvelope be ( "QPE/Launcher", "setTabBackground(QString,int,QString)" ); 163 QCopEnvelope be ( "QPE/Launcher", "setTabBackground(QString,int,QString)" );
150 164
151 switch ( tab. m_bg_type ) { 165 switch ( tc. m_bg_type ) {
152 case Ruled: 166 case TabConfig::Ruled:
153 cfg.writeEntry( "BackgroundType", "Ruled" ); 167 cfg.writeEntry( "BackgroundType", "Ruled" );
154 be << *it << tab. m_bg_type << QString(""); 168 be << *it << tc. m_bg_type << QString("");
155 break; 169 break;
156 case SolidColor: 170 case TabConfig::SolidColor:
157 cfg.writeEntry( "BackgroundType", "SolidColor" ); 171 cfg.writeEntry( "BackgroundType", "SolidColor" );
158 be << *it << tab. m_bg_type << tab. m_bg_color; 172 be << *it << tc. m_bg_type << tc. m_bg_color;
159 break; 173 break;
160 case Image: 174 case TabConfig::Image:
161 cfg.writeEntry( "BackgroundType", "Image" ); 175 cfg.writeEntry( "BackgroundType", "Image" );
162 be << *it << tab. m_bg_type << tab. m_bg_image; 176 be << *it << tc. m_bg_type << tc. m_bg_image;
163 break; 177 break;
164 } 178 }
165 179
166 QCopEnvelope te( "QPE/Launcher", "setTextColor(QString,QString)" ); 180 QCopEnvelope te( "QPE/Launcher", "setTextColor(QString,QString)" );
167 te << *it << tab. m_text_color; 181 te << *it << tc. m_text_color;
168 182
169 QCopEnvelope fe ( "QPE/Launcher", "setFont(QString,QString,int,int,int)" ); 183 QCopEnvelope fe ( "QPE/Launcher", "setFont(QString,QString,int,int,int)" );
170 fe << *it << tab. m_font_family; 184 fe << *it << tc. m_font_family;
171 fe << tab. m_font_size; 185 fe << tc. m_font_size;
172 fe << 50 << 0; 186 fe << 50 << 0;
173 187
174 tab. m_changed = false; 188 tc. m_changed = false;
175 } 189 }
176} 190}
177 191
192void TabsSettings::newClicked ( )
193{
194 QMessageBox::information ( this, tr( "Error" ), tr( "Not implemented yet" ));
195}
196
197void TabsSettings::deleteClicked ( )
198{
199 int ind = m_list-> currentItem ( );
200
201 if ( ind < 0 )
202 return;
203
204 QMessageBox::information ( this, tr( "Error" ), tr( "Not implemented yet" ));
205}
206
207void TabsSettings::editClicked ( )
208{
209 int ind = m_list-> currentItem ( );
210
211 if ( ind < 0 )
212 return;
213
214 TabConfig tc = m_tabs [m_ids [ind]];
215
216 TabDialog *d = new TabDialog ( m_list-> pixmap ( ind ), m_list-> text ( ind ), tc, this, "TabDialog", true );
217
218 d-> showMaximized ( );
219 if ( d-> exec ( ) == QDialog::Accepted ) {
220 tc. m_changed = true;
221 m_tabs [m_ids [ind]] = tc;
222 }
223
224 delete d;
225}