summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt2
-rw-r--r--korganizer/koagendaview.cpp32
-rw-r--r--korganizer/koeditorgeneral.cpp34
3 files changed, 32 insertions, 36 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index c6cd0ae..a8035d4 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1083,49 +1083,49 @@
{ "Time Format","Zeit Format" },
{ "Time Zone","Zeit Zone" },
{ "%1 groups subscribed","%1 Guppen abboniert" },
{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" },
{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
{ "Save settings","Speichere Einstellungen" },
{ "Save standard","Speichere Standard" },
{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
{ "Data storage path","Daten Speicherpfad" },
{ "Language","Sprache" },
{ "Show time in agenda items","Zeige Zeit in Agenda Items" },
{ "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" },
{ "Show events, that are done in \nWhat's Next view","Zeige abgelaufene Termine in\nWhat's Next Ansicht" },
{ "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" },
{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
{ "KO/Pi","KO/Pi" },
{ "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" },
{ "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." },
{ "Sound.Al.: ","Sound.Al.: " },
{ "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" },
{ "Restore","Wiederherstellen" },
{ "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklicht\nwiederherstellen?" },
-{ "% completed","% komplett" },
+{ "% completed","% erledigt" },
{ "%d item(s) found.","%d Item(s) gefunden." },
{ "Set complete","Setze auf erledigt" },
{ "(cancelled)","(gecancelt)" },
{ "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" },
{ " Local time "," Locale Zeit " },
{ "Form2","Form2" },
{ "Filter enabled","Filter angeschaltet" },
{ "Edit Filters","Ändere Filter" },
{ "Print What's Next View...","Drucke What's Next Ansicht..." },
{ "Agenda","Agenda" },
{ " ("," (" },
{ "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" },
{ "Print","Print" },
{ "&Setup Printer...","Drucker &Setup..." },
{ "View Type","Zeige Typ" },
{ "Page &orientation:","Seiten Ausrichtung:" },
{ "Use Default of Selected Style","Default des selektierten Stils" },
{ "Use Default Setting of Printer","Default Einstellung des Druckers" },
{ "Portrait","Portrait" },
{ "Landscape","Landschaft" },
{ "Print day","Drucke Tag" },
{ "CalPrintDay_Base","CalPrintDay_Base" },
{ "Date && Time Range","Datum && Zeitspanne" },
{ "&End date:","&Enddatum:" },
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 5508210..f287216 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -106,73 +106,85 @@ void TimeLabels::setCellHeight(int height)
is redrawn. Unfortunately, this is not called by default paintEvent() method.
*/
void TimeLabels::drawContents(QPainter *p,int cx, int cy, int cw, int ch)
{
// if ( globalFlagBlockAgenda )
// return;
// bug: the parameters cx, cy, cw, ch are the areas that need to be
// redrawn, not the area of the widget. unfortunately, this
// code assumes the latter...
// now, for a workaround...
// these two assignments fix the weird redraw bug
cx = contentsX() + 2;
cw = contentsWidth() - 2;
// end of workaround
int cell = ((int)(cy/mCellHeight));
int y = cell * mCellHeight;
QFontMetrics fm = fontMetrics();
QString hour;
QString suffix;
QString fullTime;
int tW = fm.width("24:00i");
+ int timeHeight = fm.height();
+ if ( timeHeight > mCellHeight )
+ timeHeight = mCellHeight-1;
+ int borderWidth = 5;
+ QFont nFont = p->font();
+ QFont sFont = nFont;
+ sFont.setPointSize( sFont.pointSize()/2+2 );
+ if (!KGlobal::locale()->use12Clock())
+ suffix = "00";
+ QFontMetrics fmS( sFont );
+ int sHei = fmS.height();
while (y < cy + ch) {
p->drawLine(cx,y,cx+tW,y);
hour.setNum(cell);
- suffix = "am";
// handle 24h and am/pm time formats
if (KGlobal::locale()->use12Clock()) {
if (cell > 11) suffix = "pm";
+ else
+ suffix = "am";
if (cell == 0) hour.setNum(12);
if (cell > 12) hour.setNum(cell - 12);
- } else {
- suffix = ":00";
}
// create string in format of "XX:XX" or "XXpm/am"
- fullTime = hour + suffix;
+ fullTime = hour;// + suffix;
// center and draw the time label
int timeWidth = fm.width(fullTime+"i");
- int offset = this->width() - timeWidth;
- int borderWidth = 5;
- int timeHeight = fm.height();
- timeHeight = timeHeight + 2 - ( timeHeight / 4 );
- p->drawText(cx -borderWidth + offset, y+ timeHeight, fullTime);
+ int tw2 = fm.width(suffix);
+ int offset = this->width() - timeWidth - tw2;
+ p->setFont( nFont );
+ p->drawText(cx - borderWidth + offset, y+ timeHeight, fullTime);
+ p->setFont( sFont );
+ offset += timeWidth;
+ p->drawText(cx - borderWidth + offset, y+ sHei, suffix);
// increment indices
y += mCellHeight;
cell++;
}
}
/**
Calculates the minimum width.
*/
int TimeLabels::minimumWidth() const
{
QFontMetrics fm = fontMetrics();
//TODO: calculate this value
int borderWidth = 4;
// the maximum width possible
int width = fm.width("88:88x") + borderWidth;
return width;
}
/** updates widget's internal state */
@@ -859,50 +871,48 @@ DateList KOAgendaView::selectedDates()
return selected;
}
void KOAgendaView::updateView()
{
if ( mBlockUpdating )
return;
// kdDebug() << "KOAgendaView::updateView()" << endl;
fillAgenda();
}
/*
Update configuration settings for the agenda view. This method is not
complete.
*/
void KOAgendaView::updateConfig()
{
if ( mBlockUpdating )
return;
-
-
// update config for children
mTimeLabels->updateConfig();
mAgenda->storePosition();
mAgenda->updateConfig();
mAllDayAgenda->updateConfig();
// widget synchronization
//TODO: find a better way, maybe signal/slot
mTimeLabels->positionChanged();
// for some reason, this needs to be called explicitly
mTimeLabels->repaint();
mDummyAllDayLeft->setFixedWidth(mTimeLabels->width());
// ToolTips displaying summary of events
KOAgendaItem::toolTipGroup()->setEnabled(KOPrefs::instance()
->mEnableToolTips);
//setHolidayMasks();
//createDayLabels(); called by via updateView();
mEventIndicatorTop->setXOffset(mTimeLabels->width() + mAgenda->frameWidth());
updateView();
mAgenda->restorePosition();
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index 4ee5292..cf0d4ae 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -207,145 +207,131 @@ void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout)
QToolTip::add(mAlarmSoundButton, i18n("No sound set"));
connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound()));
alarmLayout->addWidget(mAlarmSoundButton);
mAlarmProgramButton = new QPushButton(parent);
mAlarmProgramButton->setPixmap(SmallIcon("run"));
mAlarmProgramButton->setToggleButton(true);
QToolTip::add(mAlarmProgramButton, i18n("No program set"));
connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram()));
alarmLayout->addWidget(mAlarmProgramButton);
mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 );
mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 );
// if ( KOPrefs::instance()->mCompactDialogs ) {
// mAlarmSoundButton->hide();
// mAlarmProgramButton->hide();
// }
}
void KOEditorGeneral::pickAlarmSound()
{
qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() );
//QString prefix = mAlarmSound;
if (!mAlarmSoundButton->isOn()) {
- //mAlarmSound = "";
- QToolTip::remove(mAlarmSoundButton);
- QToolTip::add(mAlarmSoundButton, i18n("No sound set"));
- mAlarmProgramButton->setOn(true);
- mAlarmSoundButton->setOn(false);
- pickAlarmProgram();
+ mAlarmSoundButton->setOn(true);
+ ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
} else {
QString fileName(KFileDialog::getOpenFileName(mAlarmSound,
i18n("*.wav|Wav Files"), 0));
if (!fileName.isEmpty()) {
mAlarmSound = fileName;
QToolTip::remove(mAlarmSoundButton);
QString dispStr = i18n("Playing '%1'").arg(fileName);
QToolTip::add(mAlarmSoundButton, dispStr);
mAlarmProgramButton->setOn(false);
mAlarmSoundButton->setOn(true);
} else {
mAlarmProgramButton->setOn(true);
mAlarmSoundButton->setOn(false);
}
}
-
+#if 0
if (mAlarmProgramButton->isOn())
((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
if ( mAlarmSoundButton->isOn())
((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
+#endif
}
void KOEditorGeneral::pickAlarmProgram()
{
if (!mAlarmProgramButton->isOn()) {
- //mAlarmProgram = "";
- QToolTip::remove(mAlarmProgramButton);
- QToolTip::add(mAlarmProgramButton, i18n("No program set"));
- mAlarmProgramButton->setOn(false);
- mAlarmSoundButton->setOn(true);
- pickAlarmSound();
+ mAlarmProgramButton->setOn(true);
+ ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
} else {
QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0));
if (!fileName.isEmpty()) {
mAlarmProgram = fileName;
QToolTip::remove(mAlarmProgramButton);
QString dispStr = i18n("Running '%1'").arg(fileName);
QToolTip::add(mAlarmProgramButton, dispStr);
mAlarmSoundButton->setOn(false);
mAlarmProgramButton->setOn(true);
} else {
mAlarmProgramButton->setOn(false);
mAlarmSoundButton->setOn(true);
}
}
+#if 0
if (mAlarmProgramButton->isOn())
((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
if ( mAlarmSoundButton->isOn())
((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
+#endif
}
QString KOEditorGeneral::getFittingPath( const QString s )
{
int maxlen = 50;
if ( QApplication::desktop()->width() < 640 ) {
if ( QApplication::desktop()->width() < 320 )
maxlen = 22;
else
maxlen = 35;
}
if ( s.length() > maxlen ) {
return "..."+s.right(maxlen -3);
}
return s;
}
void KOEditorGeneral::enableAlarmEdit(bool enable)
{
if ( enable ) {
if (!mAlarmProgramButton->isOn() && !mAlarmSoundButton->isOn()) {
mAlarmSoundButton->setOn( true );
if ( mAlarmSound.isEmpty() )
mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
else {
if ( ! QFile::exists( mAlarmSound ) )
mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
}
}
- if (mAlarmProgramButton->isOn())
- ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) );
- if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn())
- ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) );
- }
- else {
- ((QWidget*)parent())->topLevelWidget()->setCaption(mAlarmMessage);
- //((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Edit item: ") + mSummaryEdit->currentText());
-
-
}
+ ((QWidget*)parent())->topLevelWidget()->setCaption(mAlarmMessage);
mAlarmTimeEdit->setEnabled(enable);
mAlarmSoundButton->setEnabled(enable);
mAlarmProgramButton->setEnabled(enable);
mAlarmIncrCombo->setEnabled(enable);
}
void KOEditorGeneral::disableAlarmEdit(bool disable)
{
enableAlarmEdit( !disable );
}
void KOEditorGeneral::enableAlarm( bool enable )
{
enableAlarmEdit( enable );
}
void KOEditorGeneral::alarmDisable(bool disable)
{
if (!disable) {
//mAlarmBell->setEnabled(true);
mAlarmButton->setEnabled(true);
} else {
//mAlarmBell->setEnabled(false);
mAlarmButton->setEnabled(false);
@@ -379,49 +365,49 @@ void KOEditorGeneral::setDefaults(bool allDay)
alarmTime = 15;
} else {
alarmTime = a[index];
}
mAlarmButton ->setChecked( false );
mAlarmTimeEdit->setValue(alarmTime);
mAlarmIncrCombo->setCurrentItem(0);
enableAlarmEdit( false );
//alarmDisable (false);
mSecrecyCombo->setCurrentItem(Incidence::SecrecyPublic);
mCancelBox->setChecked( false );
mSummaryEdit->setEditText("");
mLocationEdit->setEditText("");
mDescriptionEdit->setText("");
mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
setCategories("");
}
void KOEditorGeneral::setSecrecy( int num )
{
mSecrecyCombo->setCurrentItem(num);
}
void KOEditorGeneral::readIncidence(Incidence *event)
{
- mAlarmMessage = i18n("Edit") +" "+event->summary();
+ mAlarmMessage = event->summary();
mAlarmIncrCombo->setCurrentItem(0);
mSummaryEdit->setEditText(event->summary());
mLocationEdit->setEditText(event->location());
mDescriptionEdit->setText(event->description());
#if 0
// organizer information
mOwnerLabel->setText(i18n("Owner: ") + event->organizer());
#endif
enableAlarmEdit( event->isAlarmEnabled() );
//qDebug("KOEditorGeneral::readIncidence(Incidence *event) ");
if(!event->isAlarmEnabled()) {
// TODO: Implement a KPrefsComboItem to solve this in a clean way.
int alarmTime;
int a[] = { 1,5,10,15,30,60,180, 1440 };
int index = KOPrefs::instance()->mAlarmTime;
if (index < 0 || index > 7) {
alarmTime = 15;
} else {
alarmTime = a[index];
}
mAlarmTimeEdit->setValue(alarmTime);
}