Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [ffdf4878d3]:

To Artifact [2f76cfbd7b]:


544
545
546
547
548
549
550

551
552
553
554
555
556








557
558
559
560
561
562
563
544
545
546
547
548
549
550
551






552
553
554
555
556
557
558
559
560
561
562
563
564
565
566







+
-
-
-
-
-
-
+
+
+
+
+
+
+
+






    # where user_data = (liststore, column #id)
    @staticmethod
    def liststore_edit(cell, row, text, user_data):
        #log.EDIT(cell, row, text, user_data)
        row = int(row)
        liststore, column = user_data
        liststore[row][column] = text
        try:
        # update executable-indicator pixbuf
        if column == 1 and len(liststore[0]) == 3 and liststore[row][2].startswith("gtk-"):
            liststore[row][2] = uikit.app_bin_check(text)
        # add new row when editing last one
        if len(text) and (row + 1) == len(liststore):
            liststore.append(["", "", "gtk-new"])
            # update executable-indicator pixbuf
            if column == 1 and liststore[row][2].startswith("gtk-"):
                liststore[row][2] = uikit.app_bin_check(text)
            # add new row when editing last one
            if len(text) and (row + 1) == len(liststore):
                liststore.append(["", "", "gtk-new"])
        except:
            pass

    # return OK or CANCEL depending on availability of app
    @staticmethod
    def app_bin_check(v):
        bin = re.findall(r"(?<![$(`%-;/$])\b(\w+(?:-\w+)*)", v)
        if bin:
            bin = [find_executable(bin) for bin in bin]