diff options
Diffstat (limited to 'opensuse/tdebase/clock-suse-integrate.diff')
-rw-r--r-- | opensuse/tdebase/clock-suse-integrate.diff | 288 |
1 files changed, 0 insertions, 288 deletions
diff --git a/opensuse/tdebase/clock-suse-integrate.diff b/opensuse/tdebase/clock-suse-integrate.diff deleted file mode 100644 index a4d24dff8..000000000 --- a/opensuse/tdebase/clock-suse-integrate.diff +++ /dev/null @@ -1,288 +0,0 @@ -Index: kcontrol/clock/tzone.cpp -=================================================================== ---- kcontrol/clock/tzone.cpp.orig -+++ kcontrol/clock/tzone.cpp -@@ -27,12 +27,16 @@ - - #include <qlabel.h> - #include <qfile.h> -+#include <qregexp.h> - - #include <kdebug.h> - #include <klocale.h> - #include <kmessagebox.h> - #include <kdialog.h> - #include <kio/netaccess.h> -+#include <kprocess.h> -+#include <ksavefile.h> -+#include <kstandarddirs.h> - - //#include "xpm/world.xpm" - #include "tzone.h" -@@ -55,6 +59,8 @@ Tzone::Tzone(QWidget * parent, const cha - connect( tzonelist, SIGNAL(selectionChanged()), SLOT(handleZoneChange()) ); - - m_local = new QLabel(this); -+ -+ setupSuseTimezone(); - - load(); - -@@ -158,28 +164,38 @@ void Tzone::save() - - QString val = selectedzone; - #else -- QFile fTimezoneFile("/etc/timezone"); -+ QString tz = "/usr/share/zoneinfo/" + selectedzone; - -- if (fTimezoneFile.open(IO_WriteOnly | IO_Truncate) ) -+ kdDebug() << "Set time zone " << tz << endl; -+ -+ writeSuseTimezone( selectedzone ); -+ -+ if( !KStandardDirs::findExe( "zic" ).isEmpty()) - { -- QTextStream t(&fTimezoneFile); -- t << selectedzone; -- fTimezoneFile.close(); -+ KProcess proc; -+ proc << "zic" << "-l" << selectedzone; -+ proc.start( KProcess::Block ); - } -+ else -+ { -+ QFile fTimezoneFile("/etc/timezone"); - -- QString tz = "/usr/share/zoneinfo/" + selectedzone; -- -- kdDebug() << "Set time zone " << tz << endl; -+ if (fTimezoneFile.open(IO_WriteOnly | IO_Truncate) ) -+ { -+ QTextStream t(&fTimezoneFile); -+ t << selectedzone; -+ fTimezoneFile.close(); -+ } - -- if (!QFile::remove("/etc/localtime")) -- { -+ if (!QFile::remove("/etc/localtime")) -+ { - //After the KDE 3.2 release, need to add an error message -- } -- else -+ } -+ else - if (!KIO::NetAccess::file_copy(KURL(tz),KURL("/etc/localtime"))) - KMessageBox::error( 0, i18n("Error setting new timezone."), - i18n("Timezone Error")); -- -+ } - QString val = ":" + tz; - #endif // !USE_SOLARIS - -@@ -198,3 +214,58 @@ void Tzone::save() - - currentZone(); - } -+ -+// read the configured timezone from /etc/sysconfig/clock -+// and simply set it as $TZ, KDE code then will take it as the timezone -+void Tzone::setupSuseTimezone() -+{ -+ QFile f( "/etc/sysconfig/clock" ); -+ if( !f.open( IO_ReadOnly )) -+ return; -+ QTextStream str( &f ); -+ while( !str.atEnd()) -+ { -+ QString line = str.readLine(); -+ if( line.startsWith( "TIMEZONE=" )) -+ { -+ QRegExp r( "\\s*TIMEZONE=\"(.*)\"\\s*" ); -+ if( r.exactMatch( line )) -+ { -+ QString tz = r.cap( 1 ); -+ setenv( "TZ", tz.ascii(), 1 ); -+ } -+ } -+ } -+} -+ -+void Tzone::writeSuseTimezone( QString zone ) -+{ -+ QFile f( "/etc/sysconfig/clock" ); -+ if( !f.open( IO_ReadOnly )) -+ return; -+ KSaveFile out( "/etc/sysconfig/clock", 0644 ); -+ QFile* fout = out.file(); -+ if( fout == NULL ) -+ return; -+ QTextStream str( &f ); -+ QTextStream strout( fout ); -+ while( !str.atEnd()) -+ { -+ QString line = str.readLine(); -+ if( line.startsWith( "TIMEZONE=" )) -+ { -+ QRegExp r( "\\s*TIMEZONE=\"(.*)\"\\s*" ); -+ if( r.exactMatch( line )) -+ { -+ QString tz = r.cap( 1 ); -+ if( tz == zone ) // not changed, abort -+ { -+ out.abort(); -+ return; -+ } -+ line = "TIMEZONE=\"" + zone + "\""; -+ } -+ } -+ strout << line << '\n'; -+ } -+} -Index: kcontrol/clock/tzone.h -=================================================================== ---- kcontrol/clock/tzone.h.orig -+++ kcontrol/clock/tzone.h -@@ -47,6 +47,8 @@ protected slots: - - private: - void currentZone(); -+ void setupSuseTimezone(); -+ void writeSuseTimezone( QString timezone ); - KTimezones m_zoneDb; - QLabel *m_local; - KTimezoneWidget *tzonelist; -Index: kcontrol/clock/dtime.h -=================================================================== ---- kcontrol/clock/dtime.h.orig -+++ kcontrol/clock/dtime.h -@@ -65,6 +65,9 @@ signals: - void timeout(); - void set_time(); - void changeDate(QDate); -+#if 1 -+ void configureTimeServer(); -+#endif - - private: - void findNTPutility(); -@@ -72,7 +75,11 @@ private: - - QWidget* privateLayoutWidget; - QCheckBox *setDateTimeAuto; -+#if 1 -+ QPushButton *timeServerConfigure; -+#else - QComboBox *timeServerList; -+#endif - - KDatePicker *cal; - QComboBox *month; -Index: kcontrol/clock/dtime.cpp -=================================================================== ---- kcontrol/clock/dtime.cpp.orig -+++ kcontrol/clock/dtime.cpp -@@ -38,6 +38,7 @@ - #include <kmessagebox.h> - #include <kdialog.h> - #include <kconfig.h> -+#include <kstandarddirs.h> - - #include "dtime.h" - #include "dtime.moc" -@@ -74,6 +75,18 @@ Dtime::Dtime(QWidget * parent, const cha - connect(setDateTimeAuto, SIGNAL(toggled(bool)), SLOT(configChanged())); - layout1->addWidget( setDateTimeAuto ); - -+#if 1 -+ // simply add a pushbutton that'll invoke the yast module -+ ntpUtility = KStandardDirs::findExe( "rcntp"); -+ timeServerConfigure = new QPushButton( i18n( "Configure" ), privateLayoutWidget, "timeServerConfigure" ); -+ connect(timeServerConfigure, SIGNAL(clicked()), SLOT(configChanged())); -+ connect(timeServerConfigure, SIGNAL(clicked()), SLOT(configureTimeServer())); -+ connect(setDateTimeAuto, SIGNAL(toggled(bool)), timeServerConfigure, SLOT(setEnabled(bool))); -+ timeServerConfigure->setEnabled(false); -+ layout1->addWidget( timeServerConfigure ); -+ if( ntpUtility.isEmpty()) -+ privateLayoutWidget->hide(); -+#else - timeServerList = new QComboBox( false, privateLayoutWidget, "timeServerList" ); - connect(timeServerList, SIGNAL(activated(int)), SLOT(configChanged())); - connect(timeServerList, SIGNAL(textChanged(const QString &)), SLOT(configChanged())); -@@ -82,6 +95,7 @@ Dtime::Dtime(QWidget * parent, const cha - timeServerList->setEditable(true); - layout1->addWidget( timeServerList ); - findNTPutility(); -+#endif - - // Date box - QGroupBox* dateBox = new QGroupBox( this, "dateBox" ); -@@ -179,7 +193,11 @@ Dtime::Dtime(QWidget * parent, const cha - hour->setEnabled(false); - minute->setEnabled(false); - second->setEnabled(false); -+#if 1 -+ timeServerConfigure->setEnabled(false); -+#else - timeServerList->setEnabled(false); -+#endif - setDateTimeAuto->setEnabled(false); - } - kclock->setEnabled(false); -@@ -241,6 +259,15 @@ void Dtime::configChanged(){ - void Dtime::load() - { - KConfig config("kcmclockrc", true, false); -+#if 1 -+ if( !ntpUtility.isEmpty()) -+ { -+ KProcess proc; -+ proc << ntpUtility << "status"; -+ proc.start( KProcess::Block ); -+ setDateTimeAuto->setChecked( proc.exitStatus() == 0 ); -+ } -+#else - config.setGroup("NTP"); - timeServerList->insertStringList(QStringList::split(',', config.readEntry("servers", - i18n("Public Time Server (pool.ntp.org),\ -@@ -249,6 +276,7 @@ europe.pool.ntp.org,\ - north-america.pool.ntp.org,\ - oceania.pool.ntp.org")))); - setDateTimeAuto->setChecked(config.readBoolEntry("enabled", false)); -+#endif - - // Reset to the current date and time - time = QTime::currentTime(); -@@ -264,6 +292,7 @@ oceania.pool.ntp.org")))); - void Dtime::save() - { - KConfig config("kcmclockrc", false, false); -+#if 0 - config.setGroup("NTP"); - - // Save the order, but don't duplicate! -@@ -301,7 +330,9 @@ void Dtime::save() - kdDebug() << "Set date from time server " << timeServer.latin1() << " success!" << endl; - } - } -- else { -+ else -+#endif -+ { - // User time setting - KProcess c_proc; - -@@ -356,6 +387,13 @@ void Dtime::timeout() - kclock->setTime( time ); - } - -+void Dtime::configureTimeServer() -+{ -+ KProcess proc; -+ proc << "/sbin/yast2" << "ntp-client"; -+ proc.start( KProcess::DontCare ); -+} -+ - QString Dtime::quickHelp() const - { - return i18n("<h1>Date & Time</h1> This control module can be used to set the system date and" |