summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorgeneral.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index e601eef..92e5a0f 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -1,387 +1,388 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qwidget.h> 24#include <qwidget.h>
25#include <qtooltip.h> 25#include <qtooltip.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qbuttongroup.h> 28#include <qbuttongroup.h>
29#include <qvgroupbox.h> 29#include <qvgroupbox.h>
30#include <qwidgetstack.h> 30#include <qwidgetstack.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qregexp.h> 34#include <qregexp.h>
35 35
36 36
37#include <kglobal.h> 37#include <kglobal.h>
38#include <kdialog.h> 38#include <kdialog.h>
39#include <kdebug.h> 39#include <kdebug.h>
40#include <klocale.h> 40#include <klocale.h>
41#include <kiconloader.h> 41#include <kiconloader.h>
42#include <kmessagebox.h> 42#include <kmessagebox.h>
43#include <kfiledialog.h> 43#include <kfiledialog.h>
44#include <kstandarddirs.h> 44#include <kstandarddirs.h>
45 45
46#include <libkcal/todo.h> 46#include <libkcal/todo.h>
47#include <libkcal/event.h> 47#include <libkcal/event.h>
48#include <libkdepim/categoryselectdialog.h> 48#include <libkdepim/categoryselectdialog.h>
49#include <libkdepim/kdateedit.h> 49#include <libkdepim/kdateedit.h>
50 50
51#include "koprefs.h" 51#include "koprefs.h"
52#include "koglobals.h" 52#include "koglobals.h"
53 53
54#include "koeditorgeneral.h" 54#include "koeditorgeneral.h"
55#include "kolocationbox.h" 55#include "kolocationbox.h"
56#ifndef DESKTOP_VERSION 56#ifndef DESKTOP_VERSION
57#include <qpe/qpeapplication.h> 57#include <qpe/qpeapplication.h>
58#else 58#else
59#include <qapplication.h> 59#include <qapplication.h>
60#endif 60#endif
61 61
62KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : 62KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) :
63 QObject( parent, name) 63 QObject( parent, name)
64{ 64{
65 mNextFocus = 0; 65 mNextFocus = 0;
66} 66}
67 67
68KOEditorGeneral::~KOEditorGeneral() 68KOEditorGeneral::~KOEditorGeneral()
69{ 69{
70} 70}
71 71
72void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) 72void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout)
73{ 73{
74 QGridLayout *headerLayout = new QGridLayout(topLayout); 74 QGridLayout *headerLayout = new QGridLayout(topLayout);
75 75
76#if 0 76#if 0
77 mOwnerLabel = new QLabel(i18n("Owner:"),parent); 77 mOwnerLabel = new QLabel(i18n("Owner:"),parent);
78 headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); 78 headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1);
79#endif 79#endif
80 // 1 on pda 80 // 1 on pda
81 // 11 on desktop 81 // 11 on desktop
82 headerLayout->setSpacing( (KDialog::spacingHint()-3)*2+1 ); 82 headerLayout->setSpacing( (KDialog::spacingHint()-3)*2+1 );
83 QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); 83 QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent);
84 headerLayout->addWidget(summaryLabel,0,0); 84 headerLayout->addWidget(summaryLabel,0,0);
85 85
86 mSummaryEdit = new KOLocationBox(TRUE,parent, 50); 86 mSummaryEdit = new KOLocationBox(TRUE,parent, 50);
87 mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 87 mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
88 //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); 88 //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) );
89 //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); 89 //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() );
90 int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; 90 int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2;
91 if ( QApplication::desktop()->width() > 320 ) 91 if ( QApplication::desktop()->width() > 320 )
92 mSummaryEdit->setMaximumHeight( hei +6 ); 92 mSummaryEdit->setMaximumHeight( hei +6 );
93 //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); 93 //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding );
94 // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } 94 // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink }
95 // mSummaryEdit = new QLineEdit(parent); 95 // mSummaryEdit = new QLineEdit(parent);
96 if ( QApplication::desktop()->height() < 320 ) 96 if ( QApplication::desktop()->height() < 320 )
97 headerLayout->addWidget(mSummaryEdit,0,1); 97 headerLayout->addWidget(mSummaryEdit,0,1);
98 else 98 else
99 headerLayout->addMultiCellWidget(mSummaryEdit,0,0,1,2); 99 headerLayout->addMultiCellWidget(mSummaryEdit,0,0,1,2);
100 connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); 100 connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
101 101
102 QLabel *locationLabel = new QLabel(i18n("Location:"),parent); 102 QLabel *locationLabel = new QLabel(i18n("Location:"),parent);
103 if ( QApplication::desktop()->height() < 320 ) 103 if ( QApplication::desktop()->height() < 320 )
104 headerLayout->addWidget(locationLabel,0,2); 104 headerLayout->addWidget(locationLabel,0,2);
105 else 105 else
106 headerLayout->addWidget(locationLabel,1,0); 106 headerLayout->addWidget(locationLabel,1,0);
107 107
108 mLocationEdit = new KOLocationBox(TRUE,parent,30); 108 mLocationEdit = new KOLocationBox(TRUE,parent,30);
109 mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 109 mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
110 if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 ) 110 if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 )
111 mLocationEdit->setMaximumHeight( hei + 6); 111 mLocationEdit->setMaximumHeight( hei + 6);
112 112
113 // mLocationEdit = new QLineEdit(parent); 113 // mLocationEdit = new QLineEdit(parent);
114 connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); 114 connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
115 115
116 mCalendarBox = new QComboBox ( parent ); 116 mCalendarBox = new QComboBox ( parent );
117 mCalendarBox->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 117 mCalendarBox->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
118 if ( QApplication::desktop()->height() < 320 ) { 118 if ( QApplication::desktop()->height() < 320 ) {
119 headerLayout->addWidget(mLocationEdit,0,3); 119 headerLayout->addWidget(mLocationEdit,0,3);
120 headerLayout->addWidget(mCalendarBox,0,4); 120 headerLayout->addWidget(mCalendarBox,0,4);
121 headerLayout->setColStretch( 1, 10); 121 headerLayout->setColStretch( 1, 10);
122 headerLayout->setColStretch( 3, 10); 122 headerLayout->setColStretch( 3, 10);
123 mCalendarBox->setMaximumWidth( 64 ); 123 mCalendarBox->setMaximumWidth( 64 );
124 } 124 }
125 else { 125 else {
126 headerLayout->addWidget(mLocationEdit,1,1); 126 headerLayout->addWidget(mLocationEdit,1,1);
127 headerLayout->addWidget(mCalendarBox,1,2); 127 headerLayout->addWidget(mCalendarBox,1,2);
128 int str = 3; 128 int str = 3;
129 if ( QApplication::desktop()->width() < 320 ) { 129 if ( QApplication::desktop()->width() < 640 ) {
130 --str;
131 --str; 130 --str;
131 if ( QApplication::desktop()->width() < 320 )
132 --str;
132 } 133 }
133 headerLayout->setColStretch( 1, str); 134 headerLayout->setColStretch( 1, str);
134 headerLayout->setColStretch( 2, 1); 135 headerLayout->setColStretch( 2, 1);
135 } 136 }
136 137
137} 138}
138void KOEditorGeneral::setFocusOn( int i ) 139void KOEditorGeneral::setFocusOn( int i )
139{ 140{
140 mNextFocus = i; 141 mNextFocus = i;
141 QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); 142 QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() ));
142} 143}
143void KOEditorGeneral::slotSetFocusOn() 144void KOEditorGeneral::slotSetFocusOn()
144{ 145{
145 mNextFocus; 146 mNextFocus;
146 if ( mNextFocus == 1 ) { 147 if ( mNextFocus == 1 ) {
147 mDescriptionEdit->setFocus(); 148 mDescriptionEdit->setFocus();
148 mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); 149 mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333);
149 } 150 }
150 if ( mNextFocus == 2 ) { 151 if ( mNextFocus == 2 ) {
151 mSummaryEdit->setFocus(); 152 mSummaryEdit->setFocus();
152 } 153 }
153} 154}
154void KOEditorGeneral::editCategories() 155void KOEditorGeneral::editCategories()
155{ 156{
156 // qDebug("KOEditorGeneral::editCategories() "); 157 // qDebug("KOEditorGeneral::editCategories() ");
157 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); 158 KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 );
158 connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); 159 connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &)));
159 //KOGlobals::fitDialogToScreen( csd ); 160 //KOGlobals::fitDialogToScreen( csd );
160 csd->setColorEnabled(); 161 csd->setColorEnabled();
161 csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); 162 csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) );
162 csd->exec(); 163 csd->exec();
163 delete csd; 164 delete csd;
164} 165}
165 166
166void KOEditorGeneral::showCatPopup() 167void KOEditorGeneral::showCatPopup()
167{ 168{
168 mCatPopup->clear(); 169 mCatPopup->clear();
169 QStringList checkedCategories = QStringList::split (",", mCategoriesLabel->text()); 170 QStringList checkedCategories = QStringList::split (",", mCategoriesLabel->text());
170 int index = 0; 171 int index = 0;
171 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); 172 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin ();
172 it != KOPrefs::instance()->mCustomCategories.end (); 173 it != KOPrefs::instance()->mCustomCategories.end ();
173 ++it) { 174 ++it) {
174 mCatPopup->insertItem (*it, index ); 175 mCatPopup->insertItem (*it, index );
175 //mCategory[index] = *it; 176 //mCategory[index] = *it;
176 if (checkedCategories.find (*it) != checkedCategories.end ()) mCatPopup->setItemChecked (index, true); 177 if (checkedCategories.find (*it) != checkedCategories.end ()) mCatPopup->setItemChecked (index, true);
177 ++index; 178 ++index;
178 } 179 }
179} 180}
180void KOEditorGeneral::selectedCatPopup( int index ) 181void KOEditorGeneral::selectedCatPopup( int index )
181{ 182{
182 QStringList categories = QStringList::split (",", mCategoriesLabel->text()); 183 QStringList categories = QStringList::split (",", mCategoriesLabel->text());
183 QString colcat = categories.first(); 184 QString colcat = categories.first();
184 if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) 185 if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ())
185 categories.remove (KOPrefs::instance()->mCustomCategories[index]); 186 categories.remove (KOPrefs::instance()->mCustomCategories[index]);
186 else 187 else
187 categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]); 188 categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]);
188 categories.sort (); 189 categories.sort ();
189 if ( !colcat.isEmpty() ) { 190 if ( !colcat.isEmpty() ) {
190 if ( categories.find ( colcat ) != categories.end () ) { 191 if ( categories.find ( colcat ) != categories.end () ) {
191 categories.remove( colcat ); 192 categories.remove( colcat );
192 categories.prepend( colcat ); 193 categories.prepend( colcat );
193 } 194 }
194 } 195 }
195 setCategories( categories.join(",") ); 196 setCategories( categories.join(",") );
196} 197}
197 198
198void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) 199void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout)
199{ 200{
200 QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); 201 QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout );
201 mCatPopup = new QPopupMenu ( parent ); 202 mCatPopup = new QPopupMenu ( parent );
202 mCatPopup->setCheckable (true); 203 mCatPopup->setCheckable (true);
203 connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup())); 204 connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup()));
204 connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int ))); 205 connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int )));
205 mCategoriesButton = new QPushButton(parent); 206 mCategoriesButton = new QPushButton(parent);
206 mCategoriesButton->setText(i18n("Categories...")); 207 mCategoriesButton->setText(i18n("Categories..."));
207 connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); 208 connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() ));
208 //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); 209 //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() ));
209 categoriesLayout->addWidget(mCategoriesButton); 210 categoriesLayout->addWidget(mCategoriesButton);
210 mCategoriesLabel = new QPushButton(parent);//new QLabel(parent); 211 mCategoriesLabel = new QPushButton(parent);//new QLabel(parent);
211 mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Fixed ,FALSE) ); 212 mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Fixed ,FALSE) );
212 mCategoriesLabel->setPopup( mCatPopup ); 213 mCategoriesLabel->setPopup( mCatPopup );
213 //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); 214 //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken);
214 categoriesLayout->addWidget(mCategoriesLabel,1); 215 categoriesLayout->addWidget(mCategoriesLabel,1);
215} 216}
216 217
217void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) 218void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout)
218{ 219{
219 QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); 220 QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout );
220 221
221 QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); 222 QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent);
222 mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); 223 mCancelBox = new QCheckBox ( i18n("Cancelled"), parent);
223 secrecyLayout->addWidget(mCancelBox); 224 secrecyLayout->addWidget(mCancelBox);
224 secrecyLayout->addWidget(secrecyLabel); 225 secrecyLayout->addWidget(secrecyLabel);
225 226
226 mSecrecyCombo = new QComboBox(parent); 227 mSecrecyCombo = new QComboBox(parent);
227 mSecrecyCombo->insertStringList(Incidence::secrecyList()); 228 mSecrecyCombo->insertStringList(Incidence::secrecyList());
228 secrecyLayout->addWidget(mSecrecyCombo); 229 secrecyLayout->addWidget(mSecrecyCombo);
229} 230}
230 231
231void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) 232void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout)
232{ 233{
233 mDescriptionEdit = new KTextEdit(parent); 234 mDescriptionEdit = new KTextEdit(parent);
234 mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); 235 mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont );
235 mDescriptionEdit->append(""); 236 mDescriptionEdit->append("");
236 mDescriptionEdit->setReadOnly(false); 237 mDescriptionEdit->setReadOnly(false);
237 mDescriptionEdit->setOverwriteMode(false); 238 mDescriptionEdit->setOverwriteMode(false);
238 mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); 239 mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth );
239 topLayout->addWidget(mDescriptionEdit); 240 topLayout->addWidget(mDescriptionEdit);
240#ifndef DESKTOP_VERSION 241#ifndef DESKTOP_VERSION
241 QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); 242 QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold );
242#endif 243#endif
243 244
244} 245}
245 246
246void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) 247void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout)
247{ 248{
248 QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); 249 QBoxLayout *alarmLayout = new QHBoxLayout(topLayout);
249 250
250 //mAlarmBell = new QLabel(parent); 251 //mAlarmBell = new QLabel(parent);
251 //mAlarmBell->setPixmap(SmallIcon("bell")); 252 //mAlarmBell->setPixmap(SmallIcon("bell"));
252 //alarmLayout->addWidget(mAlarmBell); 253 //alarmLayout->addWidget(mAlarmBell);
253 if ( QApplication::desktop()->width() < 320 ) 254 if ( QApplication::desktop()->width() < 320 )
254 mAlarmButton = new QCheckBox(i18n("Rem."),parent); 255 mAlarmButton = new QCheckBox(i18n("Rem."),parent);
255 else 256 else
256 mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); 257 mAlarmButton = new QCheckBox(i18n("Reminder:"),parent);
257 258
258 connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); 259 connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool)));
259 alarmLayout->addWidget(mAlarmButton); 260 alarmLayout->addWidget(mAlarmButton);
260 261
261 mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; 262 mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ;
262 mAlarmTimeEdit->setButtonSymbols( QSpinBox::PlusMinus ); 263 mAlarmTimeEdit->setButtonSymbols( QSpinBox::PlusMinus );
263 alarmLayout->addWidget(mAlarmTimeEdit); 264 alarmLayout->addWidget(mAlarmTimeEdit);
264 mAlarmIncrCombo = new QComboBox(false, parent); 265 mAlarmIncrCombo = new QComboBox(false, parent);
265 if ( QApplication::desktop()->width() < 320 ) { 266 if ( QApplication::desktop()->width() < 320 ) {
266 mAlarmIncrCombo->insertItem(i18n("min")); 267 mAlarmIncrCombo->insertItem(i18n("min"));
267 mAlarmIncrCombo->insertItem(i18n("hou")); 268 mAlarmIncrCombo->insertItem(i18n("hou"));
268 mAlarmIncrCombo->insertItem(i18n("day")); 269 mAlarmIncrCombo->insertItem(i18n("day"));
269 mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); 270 mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() );
270 mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); 271 mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() );
271 } else { 272 } else {
272 mAlarmIncrCombo->insertItem(i18n("minute(s)")); 273 mAlarmIncrCombo->insertItem(i18n("minute(s)"));
273 mAlarmIncrCombo->insertItem(i18n("hour(s)")); 274 mAlarmIncrCombo->insertItem(i18n("hour(s)"));
274 mAlarmIncrCombo->insertItem(i18n("day(s)")); 275 mAlarmIncrCombo->insertItem(i18n("day(s)"));
275 } 276 }
276 277
277 // mAlarmIncrCombo->setMinimumHeight(20); 278 // mAlarmIncrCombo->setMinimumHeight(20);
278 alarmLayout->addWidget(mAlarmIncrCombo); 279 alarmLayout->addWidget(mAlarmIncrCombo);
279 mAlarmSoundButton = new QPushButton(parent); 280 mAlarmSoundButton = new QPushButton(parent);
280 mAlarmSoundButton->setPixmap(SmallIcon("playsound")); 281 mAlarmSoundButton->setPixmap(SmallIcon("playsound"));
281 mAlarmSoundButton->setToggleButton(true); 282 mAlarmSoundButton->setToggleButton(true);
282 QToolTip::add(mAlarmSoundButton, i18n("No sound set")); 283 QToolTip::add(mAlarmSoundButton, i18n("No sound set"));
283 connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); 284 connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound()));
284 alarmLayout->addWidget(mAlarmSoundButton); 285 alarmLayout->addWidget(mAlarmSoundButton);
285 286
286 mAlarmProgramButton = new QPushButton(parent); 287 mAlarmProgramButton = new QPushButton(parent);
287 mAlarmProgramButton->setPixmap(SmallIcon("run")); 288 mAlarmProgramButton->setPixmap(SmallIcon("run"));
288 mAlarmProgramButton->setToggleButton(true); 289 mAlarmProgramButton->setToggleButton(true);
289 QToolTip::add(mAlarmProgramButton, i18n("No program set")); 290 QToolTip::add(mAlarmProgramButton, i18n("No program set"));
290 connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); 291 connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram()));
291 alarmLayout->addWidget(mAlarmProgramButton); 292 alarmLayout->addWidget(mAlarmProgramButton);
292 mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); 293 mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 );
293 mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); 294 mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 );
294 // if ( KOPrefs::instance()->mCompactDialogs ) { 295 // if ( KOPrefs::instance()->mCompactDialogs ) {
295 // mAlarmSoundButton->hide(); 296 // mAlarmSoundButton->hide();
296 // mAlarmProgramButton->hide(); 297 // mAlarmProgramButton->hide();
297 // } 298 // }
298} 299}
299 300
300void KOEditorGeneral::pickAlarmSound() 301void KOEditorGeneral::pickAlarmSound()
301{ 302{
302 303
303 //qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); 304 //qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() );
304 305
305 bool oldState = mAlarmSoundButton->isOn(); 306 bool oldState = mAlarmSoundButton->isOn();
306 307
307 QString fileName(KFileDialog::getOpenFileName(mAlarmSound, 308 QString fileName(KFileDialog::getOpenFileName(mAlarmSound,
308 i18n("*.wav|Wav Files"), 0)); 309 i18n("*.wav|Wav Files"), 0));
309 if (!fileName.isEmpty()) { 310 if (!fileName.isEmpty()) {
310 mAlarmSound = fileName; 311 mAlarmSound = fileName;
311 QToolTip::remove(mAlarmSoundButton); 312 QToolTip::remove(mAlarmSoundButton);
312 QString dispStr = i18n("Playing '%1'").arg(fileName); 313 QString dispStr = i18n("Playing '%1'").arg(fileName);
313 QToolTip::add(mAlarmSoundButton, dispStr); 314 QToolTip::add(mAlarmSoundButton, dispStr);
314 mAlarmProgramButton->setOn(false); 315 mAlarmProgramButton->setOn(false);
315 mAlarmSoundButton->setOn(true); 316 mAlarmSoundButton->setOn(true);
316 QToolTip::add(mAlarmProgramButton, i18n("No program set")); 317 QToolTip::add(mAlarmProgramButton, i18n("No program set"));
317 } else { 318 } else {
318 mAlarmProgramButton->setOn(oldState); 319 mAlarmProgramButton->setOn(oldState);
319 mAlarmSoundButton->setOn(!oldState); 320 mAlarmSoundButton->setOn(!oldState);
320 321
321 322
322 } 323 }
323 324
324 if (mAlarmProgramButton->isOn()) 325 if (mAlarmProgramButton->isOn())
325 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); 326 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
326 if ( mAlarmSoundButton->isOn()) 327 if ( mAlarmSoundButton->isOn())
327 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); 328 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
328 329
329} 330}
330 331
331void KOEditorGeneral::pickAlarmProgram() 332void KOEditorGeneral::pickAlarmProgram()
332{ 333{
333 bool oldState = mAlarmProgramButton->isOn(); 334 bool oldState = mAlarmProgramButton->isOn();
334 335
335 QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0)); 336 QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0));
336 if (!fileName.isEmpty()) { 337 if (!fileName.isEmpty()) {
337 mAlarmProgram = fileName; 338 mAlarmProgram = fileName;
338 QToolTip::remove(mAlarmProgramButton); 339 QToolTip::remove(mAlarmProgramButton);
339 QString dispStr = i18n("Running '%1'").arg(fileName); 340 QString dispStr = i18n("Running '%1'").arg(fileName);
340 QToolTip::add(mAlarmProgramButton, dispStr); 341 QToolTip::add(mAlarmProgramButton, dispStr);
341 mAlarmSoundButton->setOn(false); 342 mAlarmSoundButton->setOn(false);
342 mAlarmProgramButton->setOn(true); 343 mAlarmProgramButton->setOn(true);
343 QToolTip::add(mAlarmSoundButton, i18n("No sound set")); 344 QToolTip::add(mAlarmSoundButton, i18n("No sound set"));
344 } else { 345 } else {
345 mAlarmProgramButton->setOn(!oldState); 346 mAlarmProgramButton->setOn(!oldState);
346 mAlarmSoundButton->setOn(oldState); 347 mAlarmSoundButton->setOn(oldState);
347 } 348 }
348 349
349 if (mAlarmProgramButton->isOn()) 350 if (mAlarmProgramButton->isOn())
350 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); 351 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
351 if ( mAlarmSoundButton->isOn()) 352 if ( mAlarmSoundButton->isOn())
352 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); 353 ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
353 354
354} 355}
355 356
356 357
357QString KOEditorGeneral::getFittingPath( const QString s ) 358QString KOEditorGeneral::getFittingPath( const QString s )
358{ 359{
359 int maxlen = 50; 360 int maxlen = 50;
360 if ( QApplication::desktop()->width() < 640 ) { 361 if ( QApplication::desktop()->width() < 640 ) {
361 if ( QApplication::desktop()->width() < 320 ) 362 if ( QApplication::desktop()->width() < 320 )
362 maxlen = 22; 363 maxlen = 22;
363 else 364 else
364 maxlen = 35; 365 maxlen = 35;
365 } 366 }
366 if ( s.length() > maxlen ) { 367 if ( s.length() > maxlen ) {
367 return "..."+s.right(maxlen -3); 368 return "..."+s.right(maxlen -3);
368 } 369 }
369 return s; 370 return s;
370} 371}
371 372
372void KOEditorGeneral::enableAlarmEdit(bool enable) 373void KOEditorGeneral::enableAlarmEdit(bool enable)
373{ 374{
374 if ( enable ) { 375 if ( enable ) {
375 if (!mAlarmProgramButton->isOn() && !mAlarmSoundButton->isOn()) { 376 if (!mAlarmProgramButton->isOn() && !mAlarmSoundButton->isOn()) {
376 mAlarmSoundButton->setOn( true ); 377 mAlarmSoundButton->setOn( true );
377 if ( mAlarmSound.isEmpty() ) 378 if ( mAlarmSound.isEmpty() )
378 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; 379 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
379 else { 380 else {
380 if ( ! QFile::exists( mAlarmSound ) ) 381 if ( ! QFile::exists( mAlarmSound ) )
381 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; 382 mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
382 } 383 }
383 } 384 }
384 } 385 }
385 ((QWidget*)parent())->topLevelWidget()->setCaption(mAlarmMessage); 386 ((QWidget*)parent())->topLevelWidget()->setCaption(mAlarmMessage);
386 mAlarmTimeEdit->setEnabled(enable); 387 mAlarmTimeEdit->setEnabled(enable);
387 mAlarmSoundButton->setEnabled(enable); 388 mAlarmSoundButton->setEnabled(enable);