Ejemplo n.º 1
0
 def __init__(self, *args):
     QStackedWidget.__init__(self, *args)
     BackgroundJob.__init__(self)
     # The widget stack has two widgets, a log and a PDF preview.
     # the Log is already created in BackgroundJob
     self.addWidget(self.log)
     self.setCurrentWidget(self.log)
     
     # the PDF preview, load Okular part.
     # If not, we just run the default PDF viewer.
     self.part = None
     factory = KPluginLoader("okularpart").factory()
     if factory:
         part = factory.create(self)
         if part:
             self.part = part
             self.addWidget(part.widget())
             self.setCurrentWidget(part.widget())
             # hide mini pager
             w = part.widget().findChild(QWidget, "miniBar")
             if w:
                 w.parent().hide()
             # hide left panel
             a = part.actionCollection().action("show_leftpanel")
             if a and a.isChecked():
                 a.toggle()
             # default to single page layout
             a = part.actionCollection().action("view_render_mode_single")
             if a and not a.isChecked():
                 a.trigger()
             # change shortcut context for this one (bound to Esc)
             a = part.actionCollection().action("close_find_bar")
             if a:
                 a.setShortcutContext(Qt.WidgetShortcut)
Ejemplo n.º 2
0
def player(tool):
    """ Return a player widget if KMid part can be found. """
    factory = KPluginLoader("kmid_part").factory()
    if factory:
        part = factory.create(tool.mainwin)
        if part:
            return Player(tool, part)
Ejemplo n.º 3
0
    def __init__(self):
        KMainWindow.__init__(self)

        self.resize(640, 480)
        service = KService.serviceByDesktopName("konsolepart")
        factory = KPluginLoader(service.library()).factory()
        part = factory.create(self)
        part.destroyed.connect(self.deleteLater)
        self.setCentralWidget(part.widget())
        terminal = KTerminal(part).terminalInterfaceV2()
        terminal.startProgram("/bin/bash", QStringList())
        terminal.sendInput("ls -l\n")
Ejemplo n.º 4
0
    def __init__ (self):
        KMainWindow.__init__(self)

        self.resize(640, 480)
        service = KService.serviceByDesktopName("konsolepart");
        factory = KPluginLoader(service.library()).factory()
        part = factory.create(self)
        part.destroyed.connect(self.deleteLater)
        self.setCentralWidget(part.widget())
        terminal = KTerminal(part).terminalInterfaceV2()
        terminal.startProgram("/bin/bash", QStringList())
        terminal.sendInput("ls -l\n");
Ejemplo n.º 5
0
 def initialize(self):
     " Init Class dock "
     self.dock = QDockWidget()
     self.dock.setFeatures(QDockWidget.DockWidgetFloatable |
                           QDockWidget.DockWidgetMovable)
     self.dock.setWindowTitle(__doc__)
     self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
     self.boton = QPushButton(QIcon.fromTheme("media-eject"),
                              ' Open Media ', self.dock)
     try:
         self.factory = KPluginLoader("dragonpart").factory()
         self.part = self.factory.create(self)
         self.boton.clicked.connect(lambda: self.part.openUrl(KUrl(str(
             QFileDialog.getOpenFileName(self.dock, ' Open Media File ',
             path.expanduser("~"), ';;'.join(['(*.{})'.format(e) for e in
             ['ogv', 'webm', 'avi', 'mpg', 'mpeg', '3gp', 'wmv', 'mp3',
             'asf', 'dat', 'flv', 'flac', 'ogg', 'mkv', 'mov', 'swf', 'wav',
             'rm', 'm4v', 'aaf', 'mp4', 'raw', '*']]))))))
         self.dock.setWidget(self.part.widget())
     except:
         self.dock.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install Dragon Player and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Apps). </i>><center>"""))
     self.misc = self.locator.get_service('misc')
     self.misc.add_widget(self.dock,
                         QIcon.fromTheme("applications-multimedia"), __doc__)
Ejemplo n.º 6
0
 def initialize(self):
     " Init Class dock "
     self.dock = QDockWidget()
     self.dock.setFeatures(QDockWidget.DockWidgetFloatable |
                           QDockWidget.DockWidgetMovable)
     self.dock.setWindowTitle(__doc__)
     self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
     self.boton = QPushButton(QIcon.fromTheme("document-open-recent"),
                              'Edit Track', self.dock)
     self.boton.setToolTip('Edit iCal: {}'.format(TRACK_FILE))
     try:
         self.factory = KPluginLoader("ktimetrackerpart").factory()
         self.part = self.factory.create(self)
         self.part.setReadWrite(True)
         self.part.closeUrl()
         self.part.openUrl(KUrl(str(TRACK_FILE)))
         self.boton.clicked.connect(lambda:
                         call('xdg-open {}'.format(TRACK_FILE), shell=True))
         self.dock.setWidget(self.part.widget())
     except:
         self.dock.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install kTimeTracker and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""))
     self.misc = self.locator.get_service('misc')
     self.misc.add_widget(self.dock, QIcon.fromTheme("user-away"), __doc__)
Ejemplo n.º 7
0
    def initialize(self):
        " Init Class dock "
        self.dock = QDockWidget()
        self.dock.setFeatures(QDockWidget.DockWidgetFloatable |
                              QDockWidget.DockWidgetMovable)
        self.dock.setWindowTitle(__doc__)
        self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
        self.open = QAction(QIcon.fromTheme("document-open"), 'Open DIFF', self)
        self.diff = QAction(QIcon.fromTheme("document-new"), 'Make DIFF', self)
        self.diff.triggered.connect(self.run_gui_and_get_results)
        self.save = QAction(QIcon.fromTheme("document-save"), 'Save DIFF', self)
        self.save.triggered.connect(self.save_a_diff)
        self.patc = QAction(QIcon.fromTheme("document-edit"), 'PATCH it!', self)
        self.patc.triggered.connect(lambda: QMessageBox.information(self.dock,
            __doc__, ' Sorry. This Feature is not ready yet !, thank you... '))
        QToolBar(self.dock).addActions((self.open, self.diff,
                                        self.save, self.patc))
        try:
            self.factory = KPluginLoader("komparepart").factory()
            self.part = self.factory.create(self)
            self.dock.setWidget(self.part.widget())
            self.open.triggered.connect(lambda: self.part.openUrl(KUrl(str(
                QFileDialog.getOpenFileName(self.dock, ' Open a DIFF file ',
                                        path.expanduser("~"), ';;(*.diff)')))))
        except:
            self.dock.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
            ERROR: Please, install Kompare and PyKDE ! </h3><br>
            <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""))

        self.misc = self.locator.get_service('misc')
        self.misc.add_widget(self.dock,
                                QIcon.fromTheme("edit-select-all"), __doc__)
Ejemplo n.º 8
0
 def initialize(self):
     " Init Class dock "
     self.dock = QDockWidget()
     self.dock.setFeatures(QDockWidget.DockWidgetFloatable |
                           QDockWidget.DockWidgetMovable)
     self.dock.setWindowTitle(__doc__)
     self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
     self.boton = QAction(QIcon.fromTheme("list-add"), 'Open', self)
     self.saver = QAction(QIcon.fromTheme("document-save"), 'Save', self)
     self.apiss = QAction(QIcon.fromTheme("help"), 'Python API Help', self)
     QToolBar(self.dock).addActions((self.boton, self.saver, self.apiss))
     try:
         self.factory = KPluginLoader("kigpart").factory()
         self.part = self.factory.create(self)
         self.part.setReadWrite(True)
         self.boton.triggered.connect(lambda: self.part.openUrl(KUrl(str(
             QFileDialog.getOpenFileName(self.dock, ' Open Geometry Plot ',
             path.expanduser("~"),
             ';;'.join(['(*.{})'.format(e) for e in ['fig', 'kig', 'kigz',
                                                     'seg', 'fgeo']]))))))
         self.saver.triggered.connect(lambda: self.part.saveAs(KUrl(str(
             QFileDialog.getSaveFileName(self.dock, ' Save Geometry Plot ',
             path.expanduser("~"),
             ';;'.join(['(*.{})'.format(e) for e in ['kig', 'kigz', 'fig']])
         )))))
         self.apiss.triggered.connect(lambda: open_new_tab(
             'http://edu.kde.org/kig/manual/scripting-api/classObject.html'))
         self.dock.setWidget(self.part.widget())
     except:
         self.dock.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install KIG and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""))
     self.misc = self.locator.get_service('misc')
     self.misc.add_widget(self.dock,
                         QIcon.fromTheme("accessories-calculator"), __doc__)
Ejemplo n.º 9
0
Archivo: Kuad.py Proyecto: szilm/Kuad
class KuadApplication (KApplication):
    def __init__(self):
        super(KApplication, self).__init__()
        
        self.mainwin = kparts.KParts.MainWindow(None, Qt.FramelessWindowHint) # No titlebar
        
        self.loader = KPluginLoader('libkonsolepart')
        self.factory = self.loader.factory()		

        width = 2
        height = 2
        self.splitter = QSplitter(Qt.Vertical)
        for v in range(width):
            splitter = QSplitter(Qt.Horizontal)
            
            for h in range(height):
                widget = KonsoleWidget(splitter, self)
                splitter.insertWidget(h, widget)
            self.splitter.insertWidget(v,splitter)
        
        self.mainwin.setCentralWidget(self.splitter)
        #QShortcut(QKeySequence('Ctrl+Q'), self.mainwin, self.quit)
        
        self.mainwin.showMaximized()
        
    def eventFilter(self, object, event):
        if event.type() == QEvent.KeyPress:
            print 'eat keypress'
            return True
        return False
Ejemplo n.º 10
0
 def initialize(self):
     " Init Class dock "
     self.dock = QDockWidget()
     self.dock.setFeatures(QDockWidget.DockWidgetFloatable
                           | QDockWidget.DockWidgetMovable)
     self.dock.setWindowTitle(__doc__)
     self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
     self.boton = QAction(QIcon.fromTheme("list-add"), 'Open', self)
     self.saver = QAction(QIcon.fromTheme("document-save"), 'Save', self)
     self.apiss = QAction(QIcon.fromTheme("help"), 'Python API Help', self)
     QToolBar(self.dock).addActions((self.boton, self.saver, self.apiss))
     try:
         self.factory = KPluginLoader("kigpart").factory()
         self.part = self.factory.create(self)
         self.part.setReadWrite(True)
         self.boton.triggered.connect(lambda: self.part.openUrl(
             KUrl(
                 str(
                     QFileDialog.getOpenFileName(
                         self.dock, ' Open Geometry Plot ',
                         path.expanduser("~"), ';;'.join([
                             '(*.{})'.format(e)
                             for e in ['fig', 'kig', 'kigz', 'seg', 'fgeo']
                         ]))))))
         self.saver.triggered.connect(lambda: self.part.saveAs(
             KUrl(
                 str(
                     QFileDialog.getSaveFileName(
                         self.dock, ' Save Geometry Plot ',
                         path.expanduser("~"), ';;'.join([
                             '(*.{})'.format(e)
                             for e in ['kig', 'kigz', 'fig']
                         ]))))))
         self.apiss.triggered.connect(lambda: open_new_tab(
             'http://edu.kde.org/kig/manual/scripting-api/classObject.html')
                                      )
         self.dock.setWidget(self.part.widget())
     except:
         self.dock.setWidget(
             QLabel(""" <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install KIG and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""))
     self.misc = self.locator.get_service('misc')
     self.misc.add_widget(self.dock,
                          QIcon.fromTheme("accessories-calculator"),
                          __doc__)
Ejemplo n.º 11
0
class Main(plugin.Plugin):
    " dock Class "
    def initialize(self):
        " Init Class dock "
        self.dock = QDockWidget()
        self.dock.setFeatures(QDockWidget.DockWidgetFloatable |
                              QDockWidget.DockWidgetMovable)
        self.dock.setWindowTitle(__doc__)
        self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
        self.open = QAction(QIcon.fromTheme("document-open"), 'Open DIFF', self)
        self.diff = QAction(QIcon.fromTheme("document-new"), 'Make DIFF', self)
        self.diff.triggered.connect(self.run_gui_and_get_results)
        self.save = QAction(QIcon.fromTheme("document-save"), 'Save DIFF', self)
        self.save.triggered.connect(self.save_a_diff)
        self.patc = QAction(QIcon.fromTheme("document-edit"), 'PATCH it!', self)
        self.patc.triggered.connect(lambda: QMessageBox.information(self.dock,
            __doc__, ' Sorry. This Feature is not ready yet !, thank you... '))
        QToolBar(self.dock).addActions((self.open, self.diff,
                                        self.save, self.patc))
        try:
            self.factory = KPluginLoader("komparepart").factory()
            self.part = self.factory.create(self)
            self.dock.setWidget(self.part.widget())
            self.open.triggered.connect(lambda: self.part.openUrl(KUrl(str(
                QFileDialog.getOpenFileName(self.dock, ' Open a DIFF file ',
                                        path.expanduser("~"), ';;(*.diff)')))))
        except:
            self.dock.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
            ERROR: Please, install Kompare and PyKDE ! </h3><br>
            <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""))

        self.misc = self.locator.get_service('misc')
        self.misc.add_widget(self.dock,
                                QIcon.fromTheme("edit-select-all"), __doc__)

    def run_gui_and_get_results(self):
        ' run_gui_and_get_results '
        gui = Diff_GUI()
        if gui.diff_path is not None and path.isfile(gui.diff_path) is True:
            self.part.openUrl(KUrl(str(gui.diff_path)))
        return gui.diff_path

    def save_a_diff(self):
        ' save a diff '
        out_file = path.abspath(str(QFileDialog.getSaveFileName(self.dock,
                   'Save a Diff file', path.expanduser("~"), ';;(*.diff)')))
        inp_file = file(str(QUrl(
               self.part.url()).toString()).replace('file://', ''), 'r').read()
        end_file = file(out_file, 'w')
        end_file.write(inp_file)
        end_file.close()
Ejemplo n.º 12
0
 def initialize(self):
     " Init Class Terminal "
     self.terminal = QDockWidget()
     self.terminal.setFeatures(QDockWidget.DockWidgetFloatable |
                               QDockWidget.DockWidgetMovable)
     self.terminal.setWindowTitle(__doc__)
     self.terminal.setStyleSheet('QDockWidget::title{text-align: center;}')
     try:
         self.factory = KPluginLoader("libkonsolepart").factory()
         self.terminal.setWidget(self.factory.create(self).widget())
     except:
         self.terminal.setWidget(QLabel(""" <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install Konsole Terminal and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Terminal Apps). </i><center>"""))
     self.misc = self.locator.get_service('misc')
     self.misc.add_widget(self.terminal,
                            QIcon.fromTheme("utilities-terminal"), __doc__)
Ejemplo n.º 13
0
 def initialize(self):
     " Init Class dock "
     self.dock = QDockWidget()
     self.dock.setFeatures(QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetMovable)
     self.dock.setWindowTitle(__doc__)
     self.dock.setStyleSheet("QDockWidget::title{text-align: center;}")
     self.scrollable = QScrollArea()
     self.dock.setWidget(self.scrollable)
     try:
         self.factory = KPluginLoader("klinkstatuspart").factory()
         self.scrollable.setWidget(self.factory.create(self).widget())
     except:
         self.scrollable.setWidget(
             QLabel(
                 """ <center> <h3>ಠ_ಠ<br>
         ERROR: Please, install KLinkCheck and PyKDE ! </h3><br>
         <br><i> (Sorry, cant embed non-Qt Apps). </i><center>"""
             )
         )
     self.misc = self.locator.get_service("misc")
     self.misc.add_widget(self.dock, QIcon.fromTheme("insert-link"), __doc__)
Ejemplo n.º 14
0
Archivo: Kuad.py Proyecto: szilm/Kuad
    def __init__(self):
        super(KApplication, self).__init__()
        
        self.mainwin = kparts.KParts.MainWindow(None, Qt.FramelessWindowHint) # No titlebar
        
        self.loader = KPluginLoader('libkonsolepart')
        self.factory = self.loader.factory()		

        width = 2
        height = 2
        self.splitter = QSplitter(Qt.Vertical)
        for v in range(width):
            splitter = QSplitter(Qt.Horizontal)
            
            for h in range(height):
                widget = KonsoleWidget(splitter, self)
                splitter.insertWidget(h, widget)
            self.splitter.insertWidget(v,splitter)
        
        self.mainwin.setCentralWidget(self.splitter)
        #QShortcut(QKeySequence('Ctrl+Q'), self.mainwin, self.quit)
        
        self.mainwin.showMaximized()