[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace
From:       Trever Fischer <wm161 () wm161 ! net>
Date:       2009-03-22 20:51:29
Message-ID: 1237755089.102656.10179.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 942893 by tdfischer:

FEATURE: Clock applets can now announce the current time every N minutes via KTTS.


 M  +1 -1      libs/plasmaclock/CMakeLists.txt  
 D             libs/plasmaclock/calendarConfig.ui  
 M  +37 -16    libs/plasmaclock/clockapplet.cpp  
 M  +1 -0      libs/plasmaclock/clockapplet.h  
 A             libs/plasmaclock/generalConfig.ui  
 M  +3 -1      plasma/applets/analog-clock/clock.cpp  
 M  +2 -1      plasma/applets/digital-clock/clock.cpp  


--- trunk/KDE/kdebase/workspace/libs/plasmaclock/CMakeLists.txt #942892:942893
@@ -5,7 +5,7 @@
     dateextenderwidget.cpp
 )
 
-kde4_add_ui_files(plasmaclock_LIB_SRCS timezonesConfig.ui calendarConfig.ui)
+kde4_add_ui_files(plasmaclock_LIB_SRCS timezonesConfig.ui generalConfig.ui)
 
 kde4_add_library(plasmaclock SHARED ${plasmaclock_LIB_SRCS})
 
--- trunk/KDE/kdebase/workspace/libs/plasmaclock/clockapplet.cpp #942892:942893
@@ -30,6 +30,8 @@
 #include <QtGui/QGraphicsProxyWidget>
 #include <QtGui/QGraphicsSceneMouseEvent>
 #include <QtGui/QGraphicsView>
+#include <QtDBus/QDBusInterface>
+#include <QtDBus/QDBusPendingCall>
 #include <QtCore/QDate>
 #include <QtCore/QTimer>
 
@@ -56,7 +58,7 @@
 #include "dateextenderwidget.h"
 
 #include "ui_timezonesConfig.h"
-#include "ui_calendarConfig.h"
+#include "ui_generalConfig.h"
 
 class ClockApplet::Private
 {
@@ -69,7 +71,7 @@
 
     ClockApplet *q;
     Ui::timezonesConfig ui;
-    Ui::calendarConfig calendarUi;
+    Ui::generalConfig generalUi;
     QString timezone;
     QString defaultTimezone;
     QPoint clicked;
@@ -78,6 +80,9 @@
     bool forceTzDisplay;
     Plasma::Label *label;
     QString holidaysRegion;
+    int announceInterval;
+    int prevHour;
+    int prevMinute;
 
     void addTzToTipText(QString &subText, QString tz) 
     {
@@ -166,6 +171,16 @@
     delete d;
 }
 
+void ClockApplet::speakTime(const QTime &time)
+{
+    if (time.minute() != d->prevMinute && d->announceInterval>0 && (time.minute() % \
d->announceInterval) == 0) { +        d->prevHour = time.hour();
+        d->prevMinute = time.minute();
+        QDBusInterface ktts("org.kde.kttsd", "/KSpeech", "org.kde.KSpeech");
+        ktts.asyncCall("say", i18nc("Sent to KTTSD to be read aloud as the current \
time", "It is %1", time.toString("h:m AP")), 0); +    }
+}
+
 void ClockApplet::toolTipAboutToShow()
 {
     updateTipContent();
@@ -234,10 +249,23 @@
 {
     createClockConfigurationInterface(parent);
 
+    QWidget *generalWidget = new QWidget();
+    d->generalUi.setupUi(generalWidget);
+
+    parent->addPage(generalWidget, i18n("General"), Applet::icon());
+
+    QStringList regions = \
dataEngine("calendar")->query("holidaysRegions").value("holidaysRegions").toStringList();
 +    for (int i = 0; i < regions.size(); i++){
+        d->generalUi.regionComboBox->addItem(regions[i]);
+        if (regions[i] == d->holidaysRegion) \
d->generalUi.regionComboBox->setCurrentIndex(i); +    }
+
+    d->generalUi.interval->setValue(d->announceInterval);
+
     QWidget *widget = new QWidget();
     d->ui.setupUi(widget);
 
-    parent->addPage(widget, i18n("Time Zones"), Applet::icon());
+    parent->addPage(widget, i18n("Time Zones"), "preferences-desktop-locale");
 
     foreach (const QString &tz, d->selectedTimezones) {
         d->ui.timeZones->setSelected(tz, true);
@@ -251,18 +279,6 @@
     }
     d->ui.clockDefaultsTo->setCurrentIndex(defaultSelection);
 
-
-    QWidget *calendarWidget = new QWidget();
-    d->calendarUi.setupUi(calendarWidget);
-
-    parent->addPage(calendarWidget, i18n("Calendar"), "view-pim-calendar");
-    
-    QStringList regions = \
dataEngine("calendar")->query("holidaysRegions").value("holidaysRegions").toStringList();
                
-    for (int i = 0; i < regions.size(); i++){
-        d->calendarUi.regionComboBox->addItem(regions[i]);
-        if (regions[i] == d->holidaysRegion) \
                d->calendarUi.regionComboBox->setCurrentIndex(i);
-    }
-
     parent->setButtons( KDialog::Ok | KDialog::Cancel | KDialog::Apply );
     connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
     connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
@@ -307,9 +323,12 @@
     changeEngineTimezone(currentTimezone(), d->defaultTimezone);
     setCurrentTimezone(d->defaultTimezone);
 
-    d->holidaysRegion = d->calendarUi.regionComboBox->currentText();
+    d->holidaysRegion = d->generalUi.regionComboBox->currentText();
     cg.writeEntry("holidaysRegion", d->holidaysRegion);
 
+    d->announceInterval = d->generalUi.interval->value();
+    cg.writeEntry("announceInterval", d->announceInterval);
+
     clockConfigAccepted();
     constraintsEvent(Plasma::SizeConstraint);
     update();
@@ -444,6 +463,8 @@
     }
     d->holidaysRegion = cg.readEntry("holidaysRegion", tmpRegion);
 
+    d->announceInterval = cg.readEntry("announceInterval", 0);
+
     Plasma::ToolTipManager::self()->registerWidget(this);
 
     extender();
--- trunk/KDE/kdebase/workspace/libs/plasmaclock/clockapplet.h #942892:942893
@@ -77,6 +77,7 @@
         void configAccepted();
         void updateClockDefaultsTo();
         void dateChanged(const QDate &);
+        void speakTime(const QTime &);
 
     private:
         class Private;
--- trunk/KDE/kdebase/workspace/plasma/applets/analog-clock/clock.cpp #942892:942893
@@ -160,6 +160,8 @@
 
     m_lastTimeSeen = m_time;
     update();
+
+    speakTime(m_time);
 }
 
 void Clock::createClockConfigurationInterface(KConfigDialog *parent)
@@ -167,7 +169,7 @@
     //TODO: Make the size settable
     QWidget *widget = new QWidget();
     ui.setupUi(widget);
-    parent->addPage(widget, i18n("General"), icon());
+    parent->addPage(widget, i18n("Appearance"), "view-media-visualization");
 
     ui.showSecondHandCheckBox->setChecked(m_showSecondHand);
     ui.showTimezoneStringCheckBox->setChecked(m_showTimezoneString);
--- trunk/KDE/kdebase/workspace/plasma/applets/digital-clock/clock.cpp #942892:942893
@@ -190,6 +190,7 @@
         m_lastTimeSeen = m_time;
         update();
     }
+    speakTime(m_time);
 }
 
 void Clock::createClockConfigurationInterface(KConfigDialog *parent)
@@ -197,7 +198,7 @@
     //TODO: Make the size settable
     QWidget *widget = new QWidget();
     ui.setupUi(widget);
-    parent->addPage(widget, i18n("General"), icon());
+    parent->addPage(widget, i18n("Appearance"), "view-media-visualization");
 
     ui.showDate->setChecked(m_showDate);
     ui.showYear->setChecked(m_showYear);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic