예제 #1
0
    def file_browse(self, mode, parent=None, *, title=None, types, file=None):
        filter = list()
        for (label, exts) in types:
            exts = ";".join("*." + ext for ext in exts)
            filter.append("{label} ({exts})\0" "{exts}\0".format_map(locals()))
        filter.append("All (*)\0" "*\0")
        (_, defext) = types[0]

        mode = dict(open=GetOpenFileNameW, save=GetSaveFileNameW)[mode]
        try:
            (file, _, _) = mode(
                Filter="".join(filter),
                File=file,
                Title=title,
                Flags=OFN_HIDEREADONLY | OFN_EXPLORER | OFN_OVERWRITEPROMPT
                | OFN_NOCHANGEDIR,
                DefExt=defext[0],
            )
        except win32gui.error as err:
            if err.winerror:
                raise
            file = None

        if not self.visible:
            PostQuitMessage(0)
            file = None

        return file
예제 #2
0
파일: __init__.py 프로젝트: vault-the/zroya
    def quit(self):
        """
        Ends notification event loop.

        :returns: Nothing.
        """

        DestroyWindow(self._window)
        UnregisterClass(self._window_class.lpszClassName, None)
        PostQuitMessage(0)
        self.logger.info("NotificationCenter is going to quit.")
예제 #3
0
def _hhook(event):
    global cont

    if event.ScanCode == 0x3F:
        cont = not cont
        print(f"Swapped: {event.Key} pressed")

    elif event.ScanCode == 0x3E or killSelf:
        cont = None
        print(f"Stopped: {event.Key} pressed")
        PostQuitMessage(0)
        hm.UnhookKeyboard()

    return True
예제 #4
0
 def run(self):
     self.BuildWindow()
     self.started = True
     while self.started:
         PumpWaitingMessages()
         if self.do_update:
             SendMessage(self.progbar, PBM_SETPOS,
                         int(self.position % self.max_val), 0)
             percentage = int(round(100.0 * self.position / self.max_val))
             SendMessage(self.dialog, WM_SETTEXT, 0,
                         self.title + ' (%d%%)' % percentage)
             #            SendMessage(self.progbar, PBM_STEPIT, 0, 0)
             self.do_update = False
         sleep(0.1)
     PostQuitMessage(0)
     DestroyWindow(self.dialog)
예제 #5
0
 def OnDestroy(self, hwnd, msg, wparam, lparam):
     nid = (self.hwnd, 0)
     Shell_NotifyIcon(NIM_DELETE, nid)
     PostQuitMessage(0)  # Terminate the app.
예제 #6
0
 def shutdown(self):
     PostQuitMessage(0)
     self.hm.UnhookKeyboard()
예제 #7
0
 def on_destroy(self, win, hwnd, msg, wparam, lparam):
     self.visible.remove(win)
     if not self.visible:
         PostQuitMessage(0)