예제 #1
0
def executeAsRootWithThread(_command=[], _executableName=None):
    if uni.isRunableAsRoot():
        roar = RunAsRootWithThread(_command, _executableName)
        roar.start()
        time.sleep(1)
        return True
    return False
예제 #2
0
def executeAsRootWithThread(_command=[], _executableName=None):
    if uni.isRunableAsRoot():
        roar = RunAsRootWithThread(_command, _executableName)
        roar.start()
        time.sleep(1)
        return True
    return False
예제 #3
0
def executeAsRoot(_command=[], _executableName=None):
    if uni.isRunableAsRoot():
        pathOfExecutable = None
        if _executableName in ["HamsiManager", "HamsiManagerInstaller"]:
            pathOfExecutable = findExecutablePath(_executableName)
        if pathOfExecutable is not None:
            _command = [pathOfExecutable] + _command
        return execute([fu.joinPath(uni.getLibraryDirectoryPath(), "kde4", "libexec", "kdesu")] + _command)
    return False
예제 #4
0
def executeAsRoot(_command=[], _executableName=None):
    if uni.isRunableAsRoot():
        pathOfExecutable = None
        if _executableName in ["HamsiManager", "HamsiManagerInstaller"]:
            pathOfExecutable = findExecutablePath(_executableName)
        if pathOfExecutable is not None:
            _command = [pathOfExecutable] + _command
        return execute([
            fu.joinPath(uni.getLibraryDirectoryPath(), "kde4", "libexec",
                        "kdesu")
        ] + _command)
    return False
예제 #5
0
                    if fu.isFile(
                            fu.joinPath(fu.userDirectoryPath, ".local",
                                        "applications",
                                        "HamsiManager.desktop")):
                        fu.removeFileOrDir(
                            fu.joinPath(fu.userDirectoryPath, ".local",
                                        "applications",
                                        "HamsiManager.desktop"))
                self.isUninstallFinished = True
                self.close()
            except:
                from Core import ReportBug

                ReportBug.ReportBug()

    if uni.isRunningAsRoot() is False and uni.isRunableAsRoot():
        answer = Dialogs.askSpecial(
            translate("Uninstall", "Are You Want To Run As Root?"),
            translate(
                "Uninstall",
                "Hamsi Manager Uninstaller is running with user privileges.<br>Do you want to run Hamsi Manager Uninstaller with root rights?"
            ), translate("Uninstall", "Yes"),
            translate("Uninstall", "No (Continue as is)"), None)
        if answer == translate("Uninstall", "Yes"):
            NewApp = Execute.executeAsRootWithThread([],
                                                     "HamsiManagerUninstaller")
            sys.exit()
    try:
        MainWidget = Main()
        MainWidget.setWindowTitle(
            translate("Uninstall", "Hamsi Manager Uninstaller") + " " +
예제 #6
0
    def __init__(self, _parent):
        MMenuBar.__init__(self, _parent)
        self.mTableTools = None
        self.mQuickOptions = None
        self.mFile = self.addMenu(translate("MenuBar", "File"))
        self.mFile.setObjectName("File")
        self.mEdit = self.addMenu(translate("MenuBar", "Edit"))
        self.mEdit.setObjectName("Edit")
        self.mView = self.addMenu(translate("MenuBar", "View"))
        self.mView.setObjectName("View")
        self.mSettings = self.addMenu(translate("MenuBar", "Settings"))
        self.mSettings.setObjectName("Settings")
        if isActivePyKDE4:
            self.mHelpMenu = getMainWindow().helpMenu()
            self.mHelpMenu.setObjectName(self.mHelpMenu.title())
            self.aHelpMenu = self.addMenu(self.mHelpMenu)
        else:
            self.mHelpMenu = self.addMenu(translate("MenuBar", "Help"))
            self.mHelpMenu.setObjectName("Help")
        mExport = MMenu(translate("MenuBar", "Export"), self.mEdit)
        mExport.setObjectName("Export")
        mExportToFile = MMenu(translate("MenuBar", "Export To File"), self.mEdit)
        mExportToFile.setObjectName("Export To File")
        mExportToFile.addAction(translate("MenuBar", "HTML Format")).setObjectName("HTML Format")
        mExportToFile.addAction(translate("MenuBar", "Text Format")).setObjectName("Text Format")
        mExportToFile.addAction(translate("MenuBar", "HTML Format (File Tree)")).setObjectName("HTML Format (File Tree)")
        mExportToFile.addAction(translate("MenuBar", "Text Format (File Tree)")).setObjectName("Text Format (File Tree)")
        mShowInWindow = MMenu(translate("MenuBar", "Show In New Window"), self.mEdit)
        mShowInWindow.setObjectName("Show In New Window")
        mShowInWindow.addAction(translate("MenuBar", "HTML Format")).setObjectName("HTML Format")
        mShowInWindow.addAction(translate("MenuBar", "Text Format")).setObjectName("Text Format")
        mShowInWindow.addAction(translate("MenuBar", "HTML Format (File Tree)")).setObjectName("HTML Format (File Tree)")
        mShowInWindow.addAction(translate("MenuBar", "Text Format (File Tree)")).setObjectName("Text Format (File Tree)")
        mCopyToClipBoard = MMenu(translate("MenuBar", "Copy To Clipboard"), self.mEdit)
        mCopyToClipBoard.setObjectName("Copy To Clipboard")
        mCopyToClipBoard.addAction(translate("MenuBar", "HTML Format")).setObjectName("HTML Format")
        mCopyToClipBoard.addAction(translate("MenuBar", "Text Format")).setObjectName("Text Format")
        mCopyToClipBoard.addAction(translate("MenuBar", "HTML Format (File Tree)")).setObjectName("HTML Format (File Tree)")
        mCopyToClipBoard.addAction(translate("MenuBar", "Text Format (File Tree)")).setObjectName("Text Format (File Tree)")
        mExport.addMenu(mExportToFile)
        mExport.addMenu(mShowInWindow)
        mExport.addMenu(mCopyToClipBoard)
        self.mFile.addAction(translate("MenuBar", "Open State")).setObjectName("Open State")
        self.mFile.addAction(translate("MenuBar", "Save State")).setObjectName("Save State")
        if uni.isRunableAsRoot():
            mRunAsRoot = MMenu(translate("MenuBar", "Run As Root"), self.mFile)
            mRunAsRoot.addAction(translate("MenuBar", "With This Profile (My Settings)")).setObjectName("With This Profile (My Settings)")
            mRunAsRoot.addAction(translate("MenuBar", "With Root Profile (Own Settings)")).setObjectName("With Root Profile (Own Settings)")
            self.mFile.addMenu(mRunAsRoot)
        self.mFile.addAction(translate("MenuBar", "Quit")).setObjectName("Quit")
        self.mEdit.addMenu(mExport)
        actOptions = self.mSettings.addAction(translate("MenuBar", "Options"))
        actOptions.setObjectName("Options")
        actOptions.setIcon(MIcon("Images:options.png"))
        self.mSettings.addAction(translate("MenuBar", "My Plugins")).setObjectName("My Plugins")
        self.mSettings.addAction(translate("MenuBar", "Reconfigure")).setObjectName("Reconfigure")
        if uni.isRunableAsRoot():
            self.mSettings.addAction(translate("MenuBar", "My Plugins (System)")).setObjectName("My Plugins (System)")
            self.mSettings.addAction(translate("MenuBar", "Reconfigure (System)")).setObjectName("Reconfigure (System)")
        if isActivePyKDE4:
            actReportBug = MAction(translate("MenuBar", "Report Bug"), self.mHelpMenu)
            actReportBug.setObjectName("Report Bug")
            self.mHelpMenu.insertAction(self.mHelpMenu.actions()[3], actReportBug)
            actSuggestIdea = MAction(translate("MenuBar", "Suggest Idea"), self.mHelpMenu)
            actSuggestIdea.setObjectName("Suggest Idea")
            self.mHelpMenu.insertAction(self.mHelpMenu.actions()[3], actSuggestIdea)
            actUNo = 9
            while actUNo > 0:
                try:
                    actUpdate = MAction(translate("MenuBar", "Update"), self.mHelpMenu)
                    actUpdate.setObjectName("Update")
                    self.mHelpMenu.insertAction(self.mHelpMenu.actions()[actUNo], actUpdate)
                    break
                except:
                    actUNo -= 3
        else:
            self.mHelpMenu.addAction(translate("MenuBar", "Report Bug")).setObjectName("Report Bug")
            self.mHelpMenu.addAction(translate("MenuBar", "Suggest Idea")).setObjectName("Suggest Idea")
            self.mHelpMenu.addAction(translate("MenuBar", "Update")).setObjectName("Update")
            self.mHelpMenu.addAction(translate("MenuBar", "About Hamsi Manager")).setObjectName("About Hamsi Manager")
        self.mHelpMenu.addAction(translate("MenuBar", "About QT")).setObjectName("About QT")

        MObject.connect(self, SIGNAL("triggered(QAction *)"), Bars.clickedAnAction)
예제 #7
0
                            fileContent = MyConfigure.getConfiguredDesktopFileContent(self.installationDirectory)
                            fu.writeToFile("/usr/share/applications/HamsiManager.desktop", fileContent)
                if uni.isRunningAsRoot() is False:
                    if fu.isDir(fu.joinPath(fu.userDirectoryPath, ".local", "applications")) is False:
                        fu.makeDirs(fu.joinPath(fu.userDirectoryPath, ".local", "applications"))
                    fileContent = MyConfigure.getConfiguredDesktopFileContent(self.installationDirectory)
                    fu.writeToFile(fu.joinPath(fu.userDirectoryPath, ".local", "applications", "HamsiManager.desktop"),
                                   fileContent)
                self.isInstallFinished = True
                self.close()
            except:
                from Core import ReportBug

                ReportBug.ReportBug()

    if uni.isRunningAsRoot() is False and uni.isRunableAsRoot():
        answer = Dialogs.askSpecial(translate("Install", "Are You Want To Run As Root?"), translate("Install",
                                                                                                    "Hamsi Manager Installer is running with user privileges.<br>Do you want to run Hamsi Manager installer with root rights?<br><b>Note: </b>The other users on your system has to inherit these permissions and install the program to a location other than their /home directories."),
                                    translate("Install", "Yes"), translate("Install", "No (Continue as is)"), None)
        if answer == translate("Install", "Yes"):
            NewApp = Execute.executeAsRootWithThread([], "HamsiManagerInstaller")
            sys.exit()
    try:
        MainWidget = Main()
        MainWidget.setWindowTitle(translate("Install", "Hamsi Manager Installer") + " " + uni.version)
        MainWidget.setGeometry(300, 300, 650, 350)
        MainWidget.show()
        uni.isStartingSuccessfully = True
    except:
        from Core import ReportBug
예제 #8
0
    def __init__(self, _parent):
        MMenuBar.__init__(self, _parent)
        self.mTableTools = None
        self.mQuickOptions = None
        self.mFile = self.addMenu(translate("MenuBar", "File"))
        self.mFile.setObjectName("File")
        self.mEdit = self.addMenu(translate("MenuBar", "Edit"))
        self.mEdit.setObjectName("Edit")
        self.mView = self.addMenu(translate("MenuBar", "View"))
        self.mView.setObjectName("View")
        self.mSettings = self.addMenu(translate("MenuBar", "Settings"))
        self.mSettings.setObjectName("Settings")
        if isActivePyKDE4:
            self.mHelpMenu = getMainWindow().helpMenu()
            self.mHelpMenu.setObjectName(self.mHelpMenu.title())
            self.aHelpMenu = self.addMenu(self.mHelpMenu)
        else:
            self.mHelpMenu = self.addMenu(translate("MenuBar", "Help"))
            self.mHelpMenu.setObjectName("Help")
        mExport = MMenu(translate("MenuBar", "Export"), self.mEdit)
        mExport.setObjectName("Export")
        mExportToFile = MMenu(translate("MenuBar", "Export To File"),
                              self.mEdit)
        mExportToFile.setObjectName("Export To File")
        mExportToFile.addAction(translate(
            "MenuBar", "HTML Format")).setObjectName("HTML Format")
        mExportToFile.addAction(translate(
            "MenuBar", "Text Format")).setObjectName("Text Format")
        mExportToFile.addAction(translate(
            "MenuBar", "HTML Format (File Tree)")).setObjectName(
                "HTML Format (File Tree)")
        mExportToFile.addAction(translate(
            "MenuBar", "Text Format (File Tree)")).setObjectName(
                "Text Format (File Tree)")
        mShowInWindow = MMenu(translate("MenuBar", "Show In New Window"),
                              self.mEdit)
        mShowInWindow.setObjectName("Show In New Window")
        mShowInWindow.addAction(translate(
            "MenuBar", "HTML Format")).setObjectName("HTML Format")
        mShowInWindow.addAction(translate(
            "MenuBar", "Text Format")).setObjectName("Text Format")
        mShowInWindow.addAction(translate(
            "MenuBar", "HTML Format (File Tree)")).setObjectName(
                "HTML Format (File Tree)")
        mShowInWindow.addAction(translate(
            "MenuBar", "Text Format (File Tree)")).setObjectName(
                "Text Format (File Tree)")
        mCopyToClipBoard = MMenu(translate("MenuBar", "Copy To Clipboard"),
                                 self.mEdit)
        mCopyToClipBoard.setObjectName("Copy To Clipboard")
        mCopyToClipBoard.addAction(translate(
            "MenuBar", "HTML Format")).setObjectName("HTML Format")
        mCopyToClipBoard.addAction(translate(
            "MenuBar", "Text Format")).setObjectName("Text Format")
        mCopyToClipBoard.addAction(
            translate("MenuBar", "HTML Format (File Tree)")).setObjectName(
                "HTML Format (File Tree)")
        mCopyToClipBoard.addAction(
            translate("MenuBar", "Text Format (File Tree)")).setObjectName(
                "Text Format (File Tree)")
        mExport.addMenu(mExportToFile)
        mExport.addMenu(mShowInWindow)
        mExport.addMenu(mCopyToClipBoard)
        self.mFile.addAction(translate(
            "MenuBar", "Open State")).setObjectName("Open State")
        self.mFile.addAction(translate(
            "MenuBar", "Save State")).setObjectName("Save State")
        if uni.isRunableAsRoot():
            mRunAsRoot = MMenu(translate("MenuBar", "Run As Root"), self.mFile)
            mRunAsRoot.addAction(
                translate("MenuBar",
                          "With This Profile (My Settings)")).setObjectName(
                              "With This Profile (My Settings)")
            mRunAsRoot.addAction(
                translate("MenuBar",
                          "With Root Profile (Own Settings)")).setObjectName(
                              "With Root Profile (Own Settings)")
            self.mFile.addMenu(mRunAsRoot)
        self.mFile.addAction(translate("MenuBar",
                                       "Quit")).setObjectName("Quit")
        self.mEdit.addMenu(mExport)
        actOptions = self.mSettings.addAction(translate("MenuBar", "Options"))
        actOptions.setObjectName("Options")
        actOptions.setIcon(MIcon("Images:options.png"))
        self.mSettings.addAction(translate(
            "MenuBar", "My Plugins")).setObjectName("My Plugins")
        self.mSettings.addAction(translate(
            "MenuBar", "Reconfigure")).setObjectName("Reconfigure")
        if uni.isRunableAsRoot():
            self.mSettings.addAction(
                translate("MenuBar", "My Plugins (System)")).setObjectName(
                    "My Plugins (System)")
            self.mSettings.addAction(
                translate("MenuBar", "Reconfigure (System)")).setObjectName(
                    "Reconfigure (System)")
        if isActivePyKDE4:
            actReportBug = MAction(translate("MenuBar", "Report Bug"),
                                   self.mHelpMenu)
            actReportBug.setObjectName("Report Bug")
            self.mHelpMenu.insertAction(self.mHelpMenu.actions()[3],
                                        actReportBug)
            actSuggestIdea = MAction(translate("MenuBar", "Suggest Idea"),
                                     self.mHelpMenu)
            actSuggestIdea.setObjectName("Suggest Idea")
            self.mHelpMenu.insertAction(self.mHelpMenu.actions()[3],
                                        actSuggestIdea)
            actUNo = 9
            while actUNo > 0:
                try:
                    actUpdate = MAction(translate("MenuBar", "Update"),
                                        self.mHelpMenu)
                    actUpdate.setObjectName("Update")
                    self.mHelpMenu.insertAction(
                        self.mHelpMenu.actions()[actUNo], actUpdate)
                    break
                except:
                    actUNo -= 3
        else:
            self.mHelpMenu.addAction(translate(
                "MenuBar", "Report Bug")).setObjectName("Report Bug")
            self.mHelpMenu.addAction(translate(
                "MenuBar", "Suggest Idea")).setObjectName("Suggest Idea")
            self.mHelpMenu.addAction(translate(
                "MenuBar", "Update")).setObjectName("Update")
            self.mHelpMenu.addAction(
                translate("MenuBar", "About Hamsi Manager")).setObjectName(
                    "About Hamsi Manager")
        self.mHelpMenu.addAction(translate(
            "MenuBar", "About QT")).setObjectName("About QT")

        MObject.connect(self, SIGNAL("triggered(QAction *)"),
                        Bars.clickedAnAction)