diff -Nuar service-manager-3.0.0.orig//setup.py service-manager-3.0.0/setup.py --- service-manager-3.0.0.orig//setup.py 2011-03-21 11:09:29.708000015 +0200 +++ service-manager-3.0.0/setup.py 2011-03-21 11:10:08.152000017 +0200 @@ -26,6 +26,12 @@ from distutils.command.install import install PROJECT = about.appName +FOR_KDE_4=False + +if 'kde4' in sys.argv: + sys.argv.remove('kde4') + FOR_KDE_4=True + print 'UI files will be created for KDE 4.. ' def makeDirs(directory): if not os.path.exists(directory): @@ -47,8 +53,14 @@ # Collect UI files filelist = [] - for filename in glob.glob1("ui", "*.ui"): - os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) + # UI files for kde4 + if FOR_KDE_4: + for filename in glob.glob1("ui", "*.ui"): + os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) + #UI files for pure-qt + else : + for filename in glob.glob1("ui", "*.ui"): + os.system("pyuic4 -o ui/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT)) # Collect headers for desktop files for filename in glob.glob("data/*.desktop.in"): @@ -104,8 +116,15 @@ os.system("intltool-merge -d po %s %s" % (filename, filename[:-3])) print "Generating UIs..." - for filename in glob.glob1("ui", "*.ui"): - os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) + # Collect UI for kde4 + if FOR_KDE_4: + for filename in glob.glob1("ui", "*.ui"): + os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename)) + # Collect UI for pure-qt + else: + for filename in glob.glob1("ui", "*.ui"): + os.system("pyuic4 -o build/servicemanager/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT)) + print "Generating RCs..." for filename in glob.glob1("data", "*.qrc"): @@ -128,9 +147,13 @@ bin_dir = "/usr/bin" locale_dir = os.path.join(root_dir, "locale") - apps_dir = os.path.join(root_dir, "applications/kde4") - services_dir = os.path.join(root_dir, "kde4/services") - project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) + if FOR_KDE_4: + apps_dir = os.path.join(root_dir, "applications/kde4") + services_dir = os.path.join(root_dir, "kde4/services") + project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) + else: + apps_dir = os.path.join(root_dir, "applications") + project_dir = os.path.join(root_dir, PROJECT) # Make directories print "Making directories..." @@ -138,13 +161,15 @@ makeDirs(locale_dir) makeDirs(apps_dir) makeDirs(project_dir) - makeDirs(services_dir) + if FOR_KDE_4: + makeDirs(services_dir) # Install desktop files print "Installing desktop files..." shutil.copy("data/%s.desktop" % PROJECT, apps_dir) - shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir) + if FOR_KDE_4: + shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir) shutil.rmtree('build/data') # Install codes @@ -192,14 +217,19 @@ bin_dir = "/usr/bin" locale_dir = os.path.join(root_dir, "locale") - apps_dir = os.path.join(root_dir, "applications/kde4") - services_dir = os.path.join(root_dir, "kde4/services") - project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) + if FOR_KDE_4: + apps_dir = os.path.join(root_dir, "applications/kde4") + services_dir = os.path.join(root_dir, "kde4/services") + project_dir = os.path.join(root_dir, "kde4/apps", PROJECT) + else: + apps_dir = os.path.join(root_dir, "applications") + project_dir = os.path.join(root_dir, PROJECT) print 'Uninstalling ...' remove(project_dir) remove(apps_dir +"/%s.desktop" % PROJECT) - remove(services_dir +"/kcm_%s.desktop" % PROJECT) + if FOR_KDE_4: + remove(services_dir +"/kcm_%s.desktop" % PROJECT) for filename in glob.glob1('po', '*.po'): lang = filename.rsplit(".", 1)[0] remove(os.path.join(locale_dir, "%s/LC_MESSAGES" % lang, "%s.mo" % PROJECT)) diff -Nuar service-manager-3.0.0.orig//src/servicemanager/about.py service-manager-3.0.0/src/servicemanager/about.py --- service-manager-3.0.0.orig//src/servicemanager/about.py 2011-03-21 11:09:29.711000015 +0200 +++ service-manager-3.0.0/src/servicemanager/about.py 2011-03-21 11:10:08.152000017 +0200 @@ -11,29 +11,35 @@ # Please read the COPYING file. # -# PyKDE4 Stuff -from PyKDE4.kdecore import KAboutData, ki18n, ki18nc - -PACKAGE = "Service Manager" +# PDS Stuff +import context as ctx # Application Data +PACKAGE = "Service Manager" appName = "service-manager" modName = "servicemanager" -programName = ki18n(PACKAGE) version = "3.0.0" -description = ki18n(PACKAGE) -license = KAboutData.License_GPL -copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE") -text = ki18n(None) homePage = "http://developer.pardus.org.tr/projects/service-manager" bugEmail = "bugs@pardus.org.tr" +icon = "flag-yellow" catalog = appName -aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail) -# Authors -aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer")) -aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author")) -aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails")) +if ctx.Pds.session == ctx.pds.Kde4: + + # PyKDE4 Stuff + from PyKDE4.kdecore import KAboutData, ki18n, ki18nc + + programName = ki18n(PACKAGE) + description = ki18n(PACKAGE) + license = KAboutData.License_GPL + copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE") + text = ki18n(None) + aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail) + + # Authors + aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer")) + aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author")) + aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails")) -# Use this if icon name is different than appName -aboutData.setProgramIconName("flag-yellow") + # Use this if icon name is different than appName + aboutData.setProgramIconName(icon) diff -Nuar service-manager-3.0.0.orig//src/servicemanager/base.py service-manager-3.0.0/src/servicemanager/base.py --- service-manager-3.0.0.orig//src/servicemanager/base.py 2011-03-21 11:09:29.712000015 +0200 +++ service-manager-3.0.0/src/servicemanager/base.py 2011-03-21 11:10:08.157000017 +0200 @@ -20,16 +20,18 @@ from PyQt4.QtGui import QMessageBox from PyQt4.QtCore import * -# PyKDE4 Stuff -from PyKDE4.kdeui import * -from PyKDE4.kdecore import * - # Application Stuff from servicemanager.backend import ServiceIface -from servicemanager.about import aboutData from servicemanager.ui_main import Ui_mainManager from servicemanager.widgets import ServiceItemWidget, ServiceItem +# Pds vs KDE +import servicemanager.context as ctx +if ctx.Pds.session == ctx.pds.Kde4: + from PyKDE4.kdecore import i18n +else: + from servicemanager.context import i18n + class MainManager(QtGui.QWidget): def __init__(self, parent, standAlone=True): QtGui.QWidget.__init__(self, parent) diff -Nuar service-manager-3.0.0.orig//src/servicemanager/context.py service-manager-3.0.0/src/servicemanager/context.py --- service-manager-3.0.0.orig//src/servicemanager/context.py 1970-01-01 02:00:00.000000000 +0200 +++ service-manager-3.0.0/src/servicemanager/context.py 2011-03-21 11:10:08.161000017 +0200 @@ -0,0 +1,29 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import pds +import traceback +from time import time +from pds.qiconloader import QIconLoader + +Pds = pds.Pds('service-manager', debug = False) +# Force to use Default Session for testing +# Pds.session = pds.DefaultDe +# print 'Current session is : %s %s' % (Pds.session.Name, Pds.session.Version) + +i18n = Pds.i18n +KIconLoader = QIconLoader(Pds, forceCache=True) +KIcon = KIconLoader.icon + +time_counter = 0 +start_time = time() +last_time = time() + +def _time(): + global last_time, time_counter + trace = list(traceback.extract_stack()) + diff = time() - start_time + print ('%s ::: %s:%s' % (time_counter, trace[-2][0].split('/')[-1], trace[-2][1])), diff, diff - last_time + last_time = diff + time_counter += 1 + diff -Nuar service-manager-3.0.0.orig//src/servicemanager/widgets.py service-manager-3.0.0/src/servicemanager/widgets.py --- service-manager-3.0.0.orig//src/servicemanager/widgets.py 2011-03-21 11:09:29.712000015 +0200 +++ service-manager-3.0.0/src/servicemanager/widgets.py 2011-03-21 11:10:08.163000017 +0200 @@ -15,10 +15,13 @@ from PyQt4 import QtGui from PyQt4.QtCore import * -# KDE Stuff -from PyKDE4 import kdeui -from PyKDE4.kdecore import i18n -from PyKDE4.kdecore import KGlobal +# Pds vs KDE +import servicemanager.context as ctx +if ctx.Pds.session == ctx.pds.Kde4: + from PyKDE4.kdeui import KIcon + from PyKDE4.kdecore import i18n +else: + from servicemanager.context import KIcon, i18n # Application Stuff from servicemanager.ui_item import Ui_ServiceItemWidget @@ -31,6 +34,7 @@ # Python Stuff import time import textwrap +import locale # Pisi Stuff import pisi @@ -60,10 +64,10 @@ self.toggleButtons() - self.ui.buttonStart.setIcon(kdeui.KIcon("media-playback-start")) - self.ui.buttonStop.setIcon(kdeui.KIcon("media-playback-stop")) - self.ui.buttonReload.setIcon(kdeui.KIcon("view-refresh")) - self.ui.buttonInfo.setIcon(kdeui.KIcon("dialog-information")) + self.ui.buttonStart.setIcon(KIcon("media-playback-start")) + self.ui.buttonStop.setIcon(KIcon("media-playback-stop")) + self.ui.buttonReload.setIcon(KIcon("view-refresh")) + self.ui.buttonInfo.setIcon(KIcon("dialog-information")) self.toggled = False self.root = parent @@ -100,7 +104,7 @@ self.ui.buttonStop.setEnabled(self.running) self.ui.buttonReload.setEnabled(self.running) - self.ui.labelStatus.setPixmap(kdeui.KIcon(icon).pixmap(32, 32)) + self.ui.labelStatus.setPixmap(KIcon(icon).pixmap(32, 32)) self.showStatus() self.runningAtStart = False if state in ('on', 'stopped'): @@ -161,7 +165,7 @@ try: # TODO add a package map for known services service = service.replace('_','-') - lang = str(KGlobal.locale().language()) + lang = str(locale.getdefaultlocale()[0].split("_")[0]) desc = pisi.api.info_name(service)[0].package.description if desc.has_key(lang): return unicode(desc[lang]) @@ -178,7 +182,7 @@ self.ui = Ui_InfoWidget() self.ui.setupUi(self) self.ui.buttonHide.clicked.connect(self.hideDescription) - self.ui.buttonHide.setIcon(kdeui.KIcon("dialog-close")) + self.ui.buttonHide.setIcon(KIcon("dialog-close")) self._animation = 2 self._duration = 500 diff -Nuar service-manager-3.0.0.orig//src/service-manager.py service-manager-3.0.0/src/service-manager.py --- service-manager-3.0.0.orig//src/service-manager.py 2011-03-21 11:09:29.712000015 +0200 +++ service-manager-3.0.0/src/service-manager.py 2011-03-21 11:33:38.407000038 +0200 @@ -13,46 +13,72 @@ # System import sys - import dbus +# Pds Stuff +import servicemanager.context as ctx + +# Application Stuff +import servicemanager.about as about + # Qt Stuff from PyQt4.QtCore import SIGNAL -# PyKDE4 Stuff -from PyKDE4.kdeui import * -from PyKDE4.kdecore import * - -def CreatePlugin(widget_parent, parent, component_data): - from servicemanager.kcmodule import ServiceManager - return ServiceManager(component_data, parent) +# Enable plugin if session is Kde4 +if ctx.Pds.session == ctx.pds.Kde4: + def CreatePlugin(widget_parent, parent, component_data): + from servicemanager.kcmodule import ServiceManager + return ServiceManager(component_data, parent) if __name__ == '__main__': - # Service Manager - from servicemanager.standalone import ServiceManager - - # Application Stuff - from servicemanager.about import aboutData - - # Set Command-line arguments - KCmdLineArgs.init(sys.argv, aboutData) - - # Create a Kapplitcation instance - app = KApplication() - # DBUS MainLoop if not dbus.get_default_main_loop(): from dbus.mainloop.qt import DBusQtMainLoop DBusQtMainLoop(set_as_default = True) - # Create Main Widget - mainWindow = ServiceManager(None, 'service-manager') - mainWindow.show() + # Pds vs KDE + if ctx.Pds.session == ctx.pds.Kde4: + + # PyKDE4 Stuff + from PyKDE4.kdeui import * + from PyKDE4.kdecore import * + + # Application Stuff + from servicemanager.standalone import ServiceManager + from servicemanager.about import aboutData + + # Set Command-line arguments + KCmdLineArgs.init(sys.argv, aboutData) + + # Create a Kapplitcation instance + app = KApplication() + + # Create Main Widget + mainWindow = ServiceManager(None, aboutData.appName) + mainWindow.show() + + else: + + # Application Stuff + from servicemanager.base import MainManager + + # Pds Stuff + from pds.quniqueapp import QUniqueApplication + from servicemanager.context import KIcon, i18n + + # Create a QUniqueApllication instance + app = QUniqueApplication(sys.argv, catalog=about.appName) + + # Create Main Widget and make some settings + mainWindow = MainManager(None) + mainWindow.show() + mainWindow.resize(640, 480) + mainWindow.setWindowTitle(i18n(about.PACKAGE)) + mainWindow.setWindowIcon(KIcon(about.icon)) # Create connection for lastWindowClosed signal to quit app app.connect(app, SIGNAL('lastWindowClosed()'), app.quit) - # Run the application + # Run the applications app.exec_() - diff -Nuar service-manager-3.0.0.orig//ui/main.ui service-manager-3.0.0/ui/main.ui --- service-manager-3.0.0.orig//ui/main.ui 2011-03-21 11:09:29.703000015 +0200 +++ service-manager-3.0.0/ui/main.ui 2011-03-21 11:10:08.165000017 +0200 @@ -17,16 +17,10 @@ - - - false - - + + type service name to search... - - true - @@ -106,13 +100,6 @@ - - - KLineEdit - QLineEdit -
klineedit.h
-
-