-rw-r--r-- | noncore/apps/confedit/mainwindow.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/apps/confedit/mainwindow.cpp b/noncore/apps/confedit/mainwindow.cpp index c91c846..e7db86a 100644 --- a/noncore/apps/confedit/mainwindow.cpp +++ b/noncore/apps/confedit/mainwindow.cpp | |||
@@ -1,203 +1,204 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * (at your option) any later version. * | 6 | * (at your option) any later version. * |
7 | * * | 7 | * * |
8 | ***************************************************************************/ | 8 | ***************************************************************************/ |
9 | 9 | ||
10 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> | 10 | // (c) 2002 Patrick S. Vogt <tille@handhelds.org> |
11 | 11 | ||
12 | 12 | ||
13 | #include "mainwindow.h" | 13 | #include "mainwindow.h" |
14 | 14 | ||
15 | #include <qpe/qpemenubar.h> | 15 | #include <qpe/qpemenubar.h> |
16 | #include <qpe/qpemessagebox.h> | 16 | #include <qpe/qpemessagebox.h> |
17 | #include <qpe/resource.h> | 17 | #include <qpe/resource.h> |
18 | #include <qpe/config.h> | 18 | #include <qpe/config.h> |
19 | #include <qpe/qpetoolbar.h> | 19 | #include <qpe/qpetoolbar.h> |
20 | #include <qpe/qpeapplication.h> | 20 | #include <qpe/qpeapplication.h> |
21 | #include <qaction.h> | 21 | #include <qaction.h> |
22 | #include <qmessagebox.h> | 22 | #include <qmessagebox.h> |
23 | #include <qpopupmenu.h> | 23 | #include <qpopupmenu.h> |
24 | #include <qtoolbutton.h> | 24 | #include <qtoolbutton.h> |
25 | #include <qstring.h> | 25 | #include <qstring.h> |
26 | #include <qlabel.h> | 26 | #include <qlabel.h> |
27 | #include <qfile.h> | 27 | #include <qfile.h> |
28 | #include <qpushbutton.h> | 28 | #include <qpushbutton.h> |
29 | #include <qlayout.h> | 29 | #include <qlayout.h> |
30 | #include <qlineedit.h> | 30 | #include <qlineedit.h> |
31 | 31 | ||
32 | #include "listviewconfdir.h" | 32 | #include "listviewconfdir.h" |
33 | #include "listviewitemconf.h" | 33 | #include "listviewitemconf.h" |
34 | #include "listviewitemconfigentry.h" | 34 | #include "listviewitemconfigentry.h" |
35 | 35 | ||
36 | #include <stdlib.h> | ||
36 | 37 | ||
37 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : | 38 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : |
38 | QDialog( parent, name, f ), _currentItem(0), _fileItem(0) | 39 | QDialog( parent, name, f ), _currentItem(0), _fileItem(0) |
39 | { | 40 | { |
40 | setCaption( tr("Conf File Editor") ); | 41 | setCaption( tr("Conf File Editor") ); |
41 | 42 | ||
42 | //setBaseSize( qApp->globalStrut() ); | 43 | //setBaseSize( qApp->globalStrut() ); |
43 | setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));//, sizePolicy().hasHeightForWidth() ) ); | 44 | setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));//, sizePolicy().hasHeightForWidth() ) ); |
44 | 45 | ||
45 | mainLayout = new QVBoxLayout( this ); | 46 | mainLayout = new QVBoxLayout( this ); |
46 | mainLayout->setSpacing( 0 ); | 47 | mainLayout->setSpacing( 0 ); |
47 | mainLayout->setMargin( 0 ); | 48 | mainLayout->setMargin( 0 ); |
48 | 49 | ||
49 | 50 | ||
50 | qDebug("creating settingList"); | 51 | qDebug("creating settingList"); |
51 | settingList = new ListViewConfDir( "/root/Settings/", this, "settingslist"); | 52 | settingList = new ListViewConfDir( QString(getenv("HOME")) + "/Settings", this, "settingslist"); |
52 | settingList->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));//, sizePolicy().hasHeightForWidth() ) ); | 53 | settingList->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));//, sizePolicy().hasHeightForWidth() ) ); |
53 | mainLayout->addWidget( settingList, 0); | 54 | mainLayout->addWidget( settingList, 0); |
54 | 55 | ||
55 | qDebug("creating editor"); | 56 | qDebug("creating editor"); |
56 | editor = new EditWidget(this); | 57 | editor = new EditWidget(this); |
57 | editor->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Maximum));//, sizePolicy().hasHeightForWidth() ) ); | 58 | editor->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Maximum));//, sizePolicy().hasHeightForWidth() ) ); |
58 | mainLayout->addWidget( editor, 1 ); | 59 | mainLayout->addWidget( editor, 1 ); |
59 | editor->layoutType( ListViewItemConf::File ); | 60 | editor->layoutType( ListViewItemConf::File ); |
60 | 61 | ||
61 | makeMenu(); | 62 | makeMenu(); |
62 | 63 | ||
63 | connect(settingList, SIGNAL( pressed(QListViewItem*) ), | 64 | connect(settingList, SIGNAL( pressed(QListViewItem*) ), |
64 | this, SLOT(setCurrent(QListViewItem*))); | 65 | this, SLOT(setCurrent(QListViewItem*))); |
65 | connect( settingList, SIGNAL( clicked( QListViewItem* ) ), | 66 | connect( settingList, SIGNAL( clicked( QListViewItem* ) ), |
66 | this, SLOT( stopTimer( QListViewItem* ) ) ); | 67 | this, SLOT( stopTimer( QListViewItem* ) ) ); |
67 | 68 | ||
68 | connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ), | 69 | connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ), |
69 | SLOT( groupChanged(const QString&) ) ); | 70 | SLOT( groupChanged(const QString&) ) ); |
70 | connect( editor->LineEditKey, SIGNAL( textChanged(const QString&) ), | 71 | connect( editor->LineEditKey, SIGNAL( textChanged(const QString&) ), |
71 | SLOT( keyChanged(const QString&) ) ); | 72 | SLOT( keyChanged(const QString&) ) ); |
72 | connect( editor->LineEditValue, SIGNAL( textChanged(const QString&) ), | 73 | connect( editor->LineEditValue, SIGNAL( textChanged(const QString&) ), |
73 | SLOT( valueChanged(const QString&) ) ); | 74 | SLOT( valueChanged(const QString&) ) ); |
74 | 75 | ||
75 | setCurrent(0); | 76 | setCurrent(0); |
76 | editor->layoutType(EditWidget::File); | 77 | editor->layoutType(EditWidget::File); |
77 | } | 78 | } |
78 | 79 | ||
79 | void MainWindow::makeMenu() | 80 | void MainWindow::makeMenu() |
80 | { | 81 | { |
81 | popupTimer = new QTimer(this); | 82 | popupTimer = new QTimer(this); |
82 | popupMenuFile = new QPopupMenu(this); | 83 | popupMenuFile = new QPopupMenu(this); |
83 | popupMenuEntry = new QPopupMenu(this); | 84 | popupMenuEntry = new QPopupMenu(this); |
84 | 85 | ||
85 | popupActionSave = new QAction( tr("Save"),QString::null, 0, this, 0 ); | 86 | popupActionSave = new QAction( tr("Save"),QString::null, 0, this, 0 ); |
86 | popupActionSave->addTo( popupMenuFile ); | 87 | popupActionSave->addTo( popupMenuFile ); |
87 | // popupActionSave->addTo( popupMenuEntry ); | 88 | // popupActionSave->addTo( popupMenuEntry ); |
88 | connect( popupActionSave, SIGNAL( activated() ), | 89 | connect( popupActionSave, SIGNAL( activated() ), |
89 | this , SLOT( saveConfFile() ) ); | 90 | this , SLOT( saveConfFile() ) ); |
90 | 91 | ||
91 | popupActionRevert = new QAction( tr("Revert"),QString::null, 0, this, 0 ); | 92 | popupActionRevert = new QAction( tr("Revert"),QString::null, 0, this, 0 ); |
92 | popupActionRevert->addTo( popupMenuFile ); | 93 | popupActionRevert->addTo( popupMenuFile ); |
93 | popupActionRevert->addTo( popupMenuEntry ); | 94 | popupActionRevert->addTo( popupMenuEntry ); |
94 | connect( popupActionRevert, SIGNAL( activated() ), | 95 | connect( popupActionRevert, SIGNAL( activated() ), |
95 | this , SLOT( revertConfFile() ) ); | 96 | this , SLOT( revertConfFile() ) ); |
96 | 97 | ||
97 | popupActionDelete = new QAction( tr("Delete"),QString::null, 0, this, 0 ); | 98 | popupActionDelete = new QAction( tr("Delete"),QString::null, 0, this, 0 ); |
98 | popupActionDelete->addTo( popupMenuFile ); | 99 | popupActionDelete->addTo( popupMenuFile ); |
99 | popupActionDelete->addTo( popupMenuEntry ); | 100 | popupActionDelete->addTo( popupMenuEntry ); |
100 | connect( popupActionDelete, SIGNAL( activated() ), | 101 | connect( popupActionDelete, SIGNAL( activated() ), |
101 | this , SLOT( removeConfFile() ) ); | 102 | this , SLOT( removeConfFile() ) ); |
102 | 103 | ||
103 | connect( popupTimer, SIGNAL(timeout()), | 104 | connect( popupTimer, SIGNAL(timeout()), |
104 | this, SLOT(showPopup()) ); | 105 | this, SLOT(showPopup()) ); |
105 | } | 106 | } |
106 | 107 | ||
107 | MainWindow::~MainWindow() | 108 | MainWindow::~MainWindow() |
108 | { | 109 | { |
109 | } | 110 | } |
110 | 111 | ||
111 | 112 | ||
112 | 113 | ||
113 | void MainWindow::setCurrent(QListViewItem *item) | 114 | void MainWindow::setCurrent(QListViewItem *item) |
114 | { | 115 | { |
115 | //qDebug("MainWindow::setCurrent"); | 116 | //qDebug("MainWindow::setCurrent"); |
116 | if (!item) return; | 117 | if (!item) return; |
117 | _item = (ListViewItemConf*) item; | 118 | _item = (ListViewItemConf*) item; |
118 | if (!_item) return; | 119 | if (!_item) return; |
119 | popupTimer->start( 750, true ); | 120 | popupTimer->start( 750, true ); |
120 | if (_item->getType() == ListViewItemConf::File) | 121 | if (_item->getType() == ListViewItemConf::File) |
121 | { | 122 | { |
122 | editor->layoutType(EditWidget::File); | 123 | editor->layoutType(EditWidget::File); |
123 | _currentItem=0; | 124 | _currentItem=0; |
124 | _fileItem = (ListViewItemConfFile*)item; | 125 | _fileItem = (ListViewItemConfFile*)item; |
125 | return; | 126 | return; |
126 | } | 127 | } |
127 | _fileItem = 0; | 128 | _fileItem = 0; |
128 | _currentItem = (ListViewItemConfigEntry*)item; | 129 | _currentItem = (ListViewItemConfigEntry*)item; |
129 | if (!_currentItem) return; | 130 | if (!_currentItem) return; |
130 | QString file = _currentItem->getFile(); | 131 | QString file = _currentItem->getFile(); |
131 | QString group = _currentItem->getGroup(); | 132 | QString group = _currentItem->getGroup(); |
132 | QString key = _currentItem->getKey(); | 133 | QString key = _currentItem->getKey(); |
133 | QString val = _currentItem->getValue(); | 134 | QString val = _currentItem->getValue(); |
134 | editor->TextFileName->setText(file); | 135 | editor->TextFileName->setText(file); |
135 | editor->LineEditGroup->setText(group); | 136 | editor->LineEditGroup->setText(group); |
136 | if (!key.isEmpty()) | 137 | if (!key.isEmpty()) |
137 | { | 138 | { |
138 | editor->layoutType(EditWidget::Entry); | 139 | editor->layoutType(EditWidget::Entry); |
139 | editor->LineEditKey->setText(key); | 140 | editor->LineEditKey->setText(key); |
140 | editor->LineEditValue->setText(val); | 141 | editor->LineEditValue->setText(val); |
141 | }else{ | 142 | }else{ |
142 | editor->layoutType(EditWidget::Group); | 143 | editor->layoutType(EditWidget::Group); |
143 | } | 144 | } |
144 | } | 145 | } |
145 | 146 | ||
146 | 147 | ||
147 | void MainWindow::groupChanged(const QString &g) | 148 | void MainWindow::groupChanged(const QString &g) |
148 | { | 149 | { |
149 | if (!_currentItem) return; | 150 | if (!_currentItem) return; |
150 | _currentItem->setGroup(g); | 151 | _currentItem->setGroup(g); |
151 | } | 152 | } |
152 | 153 | ||
153 | void MainWindow::keyChanged(const QString &k) | 154 | void MainWindow::keyChanged(const QString &k) |
154 | { | 155 | { |
155 | if (!_currentItem) return; | 156 | if (!_currentItem) return; |
156 | _currentItem->keyChanged(k); | 157 | _currentItem->keyChanged(k); |
157 | } | 158 | } |
158 | 159 | ||
159 | void MainWindow::valueChanged(const QString &v) | 160 | void MainWindow::valueChanged(const QString &v) |
160 | { | 161 | { |
161 | if (!_currentItem) return; | 162 | if (!_currentItem) return; |
162 | _currentItem->valueChanged(v); | 163 | _currentItem->valueChanged(v); |
163 | } | 164 | } |
164 | 165 | ||
165 | 166 | ||
166 | void MainWindow::stopTimer( QListViewItem* ) | 167 | void MainWindow::stopTimer( QListViewItem* ) |
167 | { | 168 | { |
168 | popupTimer->stop(); | 169 | popupTimer->stop(); |
169 | } | 170 | } |
170 | 171 | ||
171 | void MainWindow::saveConfFile() | 172 | void MainWindow::saveConfFile() |
172 | { | 173 | { |
173 | if (!_fileItem) return; | 174 | if (!_fileItem) return; |
174 | _fileItem->save(); | 175 | _fileItem->save(); |
175 | } | 176 | } |
176 | 177 | ||
177 | void MainWindow::revertConfFile() | 178 | void MainWindow::revertConfFile() |
178 | { | 179 | { |
179 | if (!_item) return; | 180 | if (!_item) return; |
180 | _item->revert(); | 181 | _item->revert(); |
181 | } | 182 | } |
182 | 183 | ||
183 | void MainWindow::removeConfFile() | 184 | void MainWindow::removeConfFile() |
184 | { | 185 | { |
185 | if (!_item) return; | 186 | if (!_item) return; |
186 | _item->remove(); | 187 | _item->remove(); |
187 | } | 188 | } |
188 | 189 | ||
189 | void MainWindow::showPopup() | 190 | void MainWindow::showPopup() |
190 | { | 191 | { |
191 | qDebug("showPopup"); | 192 | qDebug("showPopup"); |
192 | if (!_item) return; | 193 | if (!_item) return; |
193 | popupActionRevert->setEnabled(_item->revertable()); | 194 | popupActionRevert->setEnabled(_item->revertable()); |
194 | popupActionSave->setEnabled(_item->isChanged()); | 195 | popupActionSave->setEnabled(_item->isChanged()); |
195 | if (_fileItem) | 196 | if (_fileItem) |
196 | { | 197 | { |
197 | popupActionSave->setEnabled(_fileItem->isChanged()); | 198 | popupActionSave->setEnabled(_fileItem->isChanged()); |
198 | popupMenuFile->popup( QCursor::pos() ); | 199 | popupMenuFile->popup( QCursor::pos() ); |
199 | }else if(_currentItem) | 200 | }else if(_currentItem) |
200 | { | 201 | { |
201 | popupMenuEntry->popup( QCursor::pos() ); | 202 | popupMenuEntry->popup( QCursor::pos() ); |
202 | } | 203 | } |
203 | } | 204 | } |