예제 #1
0
 def on_open_clicked(self, widget):
     (model, paths) = self.selection.get_selected_rows()
     item = paths[0]
     dnwType = model[item][3]
     if dnwType == YtModel.MODE_VIDEO:
         target = self.model.getVideoPath()
     else:
         target = self.model.getMusicPath()
     YtModel.openFolder(target)
예제 #2
0
    def on_row_doubleClicked(self, widget, row, col):
        model = widget.get_model()
        fn = model[row][1]
        dnwType = model[row][3]
        if dnwType == YtModel.MODE_VIDEO:
            target = self.model.getVideoPath()
        else:
            target = self.model.getMusicPath()

        for root, dirs, files in os.walk(target):
            for name in files:
                if fn in name:
                    YtModel.play(root, name)
                    break
        return True
예제 #3
0
def start():
    model = YtModel.Model()
    global TEXT_MAP
    TEXT_MAP = model.text
    win = YtWindow(model)
    win.connect("destroy", Gtk.main_quit)
    win.show_all()
    Gtk.main()
예제 #4
0
 def on_tool_update(self, widget):
     self._longOperationStart()
     res = YtModel.updateYt()
     if res.hasError():
         self._showError(res.error)
         return
     text = '\n'.join(res.result)
     self._showMessage(text)
     self._longOperationDone()
예제 #5
0
    def on_drag_data_received(self, widget, drag_context, x, y, data, info,
                              time):
        if info == TARGET_ENTRY_TEXT:
            rawURL = data.get_data().decode("utf8").rstrip()
            parseResult = YtModel.convertURL(rawURL)
            if parseResult is not None:
                #process spawned - returns immediately
                self.addURL(parseResult.geturl())
                return

        self._showError(_t("NOT_AN_URL_ERROR"))
예제 #6
0
 def on_reload_clicked(self, widget):
     (model, paths) = self.selection.get_selected_rows()
     if paths is not None:
         rows = []
         for item in paths:
             aiter = model.get_iter(item)
             fn = model[aiter][1]
             dnwType = model[aiter][3]
             #print("Searching file:",fn)
             if dnwType == YtModel.MODE_VIDEO:
                 target = self.model.getVideoPath()
             else:
                 target = self.model.getMusicPath()
             for root, dirs, files in os.walk(target):
                 for name in files:
                     #print("Walk:",name)
                     if fn in name:
                         YtModel.removeFile(root, name)
                         print("removed:", root, name)
                         break
             rows.append(item)
         self._fetchVideo(rows)
예제 #7
0
 def on_tool_add(self, widget):
     dialog = URLDialog(self)
     response = dialog.run()
     error = False
     if response == Gtk.ResponseType.OK:
         rawURL = dialog.getInput()
         error = True
         parseResult = YtModel.convertURL(rawURL)
         if parseResult is not None:
             self.addURL(parseResult.geturl())
             error = False
     dialog.destroy()
     if error:
         self._showError(_t("NOT_AN_URL_ERROR"))
예제 #8
0
 def run(self):
     #push into #processResults
     return YtModel.getListInfo(self.target)