You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
6.0 KiB
167 lines
6.0 KiB
15 years ago
|
#!/usr/bin/python
|
||
|
###########################################################################
|
||
|
# kcontrol_module - description #
|
||
|
# ------------------------------ #
|
||
|
# begin : Mon May 2 2005 #
|
||
|
# copyright : (C) 2005 by AUTHOR #
|
||
|
# email : your@email.com #
|
||
|
# #
|
||
|
###########################################################################
|
||
|
# #
|
||
|
# This program is free software; you can redistribute it and/or modify #
|
||
|
# it under the terms of the GNU General Public License as published by #
|
||
|
# the Free Software Foundation; either version 2 of the License, or #
|
||
|
# (at your option) any later version. #
|
||
|
# #
|
||
|
###########################################################################
|
||
|
|
||
|
import sys
|
||
|
from qt import *
|
||
|
from kdecore import *
|
||
|
from kdeui import *
|
||
|
|
||
|
import kdedesigner
|
||
|
from KcontrolModuleWidgetUI import *
|
||
|
|
||
|
description = "A Kcontrol module"
|
||
|
version = "0.1"
|
||
|
|
||
|
############################################################################
|
||
|
def AboutData():
|
||
|
global version,description
|
||
|
|
||
|
about_data = KAboutData("kcontrol_module", "kcontrol_module", version, \
|
||
|
description, KAboutData.License_GPL, "(C) 2005 AUTHOR", None, None,\
|
||
|
"your@email.com")
|
||
|
about_data.addAuthor("AUTHOR", None, "your@email.com")
|
||
|
return about_data
|
||
|
|
||
|
############################################################################
|
||
|
class KcontrolModuleWidget(KcontrolModuleWidgetUI):
|
||
|
def __init__(self,parent=None):
|
||
|
KcontrolModuleWidgetUI.__init__(self,parent,"Kcontrol module")
|
||
|
# Add other methods, slots and signals here.
|
||
|
|
||
|
############################################################################
|
||
|
# The base class that we use depends on whether this is running inside
|
||
|
# kcontrol or as a standalone application.
|
||
|
# Are we running as a separate standalone application or in KControl?
|
||
|
standalone = __name__=='__main__'
|
||
|
|
||
|
if standalone:
|
||
|
programbase = KDialogBase
|
||
|
else:
|
||
|
programbase = KCModule
|
||
|
|
||
|
class KcontrolModuleApp(programbase):
|
||
|
########################################################################
|
||
|
def __init__(self,parent=None,name=None):
|
||
|
global standalone
|
||
|
if standalone:
|
||
|
KDialogBase.__init__(self,KJanusWidget.Plain,"Kcontrol module",KDialogBase.User1|KDialogBase.Close, KDialogBase.Close)
|
||
|
self.setButtonText(KDialogBase.User1,"About")
|
||
|
else:
|
||
|
KCModule.__init__(self,parent,name)
|
||
|
# Create a configuration object.
|
||
|
self.config = KConfig("kcontrol_module")
|
||
|
self.setButtons(0)
|
||
|
self.aboutdata = AboutData()
|
||
|
|
||
|
# The appdir needs to be explicitly otherwise we won't be able to
|
||
|
# load our icons and images.
|
||
|
KGlobal.iconLoader().addAppDir("kcontrol_module")
|
||
|
|
||
|
if standalone:
|
||
|
toplayout = QVBoxLayout( self.plainPage(), 0, KDialog.spacingHint() )
|
||
|
mainwidget = KcontrolModuleWidget(self.plainPage())
|
||
|
else:
|
||
|
toplayout = QVBoxLayout( self, 0, KDialog.spacingHint() )
|
||
|
mainwidget = KcontrolModuleWidget(self)
|
||
|
|
||
|
toplayout.addWidget(mainwidget)
|
||
|
|
||
|
self.aboutus = KAboutApplication(self)
|
||
|
|
||
|
########################################################################
|
||
|
def __del__(self):
|
||
|
pass
|
||
|
|
||
|
########################################################################
|
||
|
# KDialogBase method
|
||
|
def exec_loop(self):
|
||
|
global programbase
|
||
|
|
||
|
# Load configuration here
|
||
|
self.__loadOptions()
|
||
|
|
||
|
programbase.exec_loop(self)
|
||
|
|
||
|
# Save configuration here
|
||
|
self.__saveOptions()
|
||
|
|
||
|
########################################################################
|
||
|
# KDialogBase method
|
||
|
def slotUser1(self):
|
||
|
self.aboutus.show()
|
||
|
|
||
|
########################################################################
|
||
|
def slotCloseButton(self):
|
||
|
self.close()
|
||
|
|
||
|
########################################################################
|
||
|
def __loadOptions(self):
|
||
|
global kapp
|
||
|
config = kapp.config()
|
||
|
config.setGroup("General")
|
||
|
size = config.readSizeEntry("Geometry")
|
||
|
if size.isEmpty()==False:
|
||
|
self.resize(size)
|
||
|
|
||
|
#######################################################################
|
||
|
def __saveOptions(self):
|
||
|
global kapp
|
||
|
config = kapp.config()
|
||
|
config.setGroup("General")
|
||
|
config.writeEntry("Geometry", self.size())
|
||
|
config.sync()
|
||
|
|
||
|
#######################################################################
|
||
|
# KControl virtual void methods
|
||
|
def load(self):
|
||
|
pass
|
||
|
def save(self):
|
||
|
pass
|
||
|
def defaults(self):
|
||
|
pass
|
||
|
def sysdefaults(self):
|
||
|
pass
|
||
|
|
||
|
def aboutData(self):
|
||
|
# Return the KAboutData object which we created during initialisation.
|
||
|
return self.aboutdata
|
||
|
|
||
|
def buttons(self):
|
||
|
# Only supply a Help button. Other choices are Default and Apply.
|
||
|
return KCModule.Help
|
||
|
|
||
|
############################################################################
|
||
|
# This is the entry point used when running this module outside of kcontrol.
|
||
|
def main():
|
||
|
global kapp
|
||
|
about_data = AboutData()
|
||
|
KCmdLineArgs.init(sys.argv,about_data)
|
||
|
kapp = KApplication()
|
||
|
myapp = KcontrolModuleApp()
|
||
|
myapp.exec_loop()
|
||
|
|
||
|
############################################################################
|
||
|
# Factory function for KControl
|
||
|
def create_kcontrol_module(parent,name):
|
||
|
global kapp
|
||
|
kapp = KApplication.kApplication()
|
||
|
return KcontrolModuleApp(parent, name)
|
||
|
|
||
|
############################################################################
|
||
|
if standalone:
|
||
|
main()
|