diff --git a/example/drawhorse/.vs/drawhorse/v16/.suo b/example/drawhorse/.vs/drawhorse/v16/.suo new file mode 100644 index 0000000..e495d42 Binary files /dev/null and b/example/drawhorse/.vs/drawhorse/v16/.suo differ diff --git a/example/drawhorse/drawhorse.sln b/example/drawhorse/drawhorse.sln new file mode 100644 index 0000000..48af12c --- /dev/null +++ b/example/drawhorse/drawhorse.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32002.261 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "drawhorse", "drawhorse\drawhorse.csproj", "{2A403205-DE3C-4836-8789-F1F760843BD2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2A403205-DE3C-4836-8789-F1F760843BD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2A403205-DE3C-4836-8789-F1F760843BD2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2A403205-DE3C-4836-8789-F1F760843BD2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2A403205-DE3C-4836-8789-F1F760843BD2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {A1A6C8FE-5C85-4A46-AD4C-F3AE21463330} + EndGlobalSection +EndGlobal diff --git a/example/drawhorse/drawhorse/App.config b/example/drawhorse/drawhorse/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/example/drawhorse/drawhorse/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/example/drawhorse/drawhorse/Program.cs b/example/drawhorse/drawhorse/Program.cs new file mode 100644 index 0000000..f0ac624 --- /dev/null +++ b/example/drawhorse/drawhorse/Program.cs @@ -0,0 +1,32 @@ +using System; + +namespace drawhorse +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine(@"Sample app with <3 from horsy + |\ /| + ___| \,,/_/ + ---__/ \/ \ + __--/ (D) \ + _ -/ (_ \ + // / \_ / -\ + __-------_____--___--/ / \_ O o) + / / \__/ + / / +|| ) \_/\ +|| / _ / | +| | /--______ ___\ /\ : +| / __- - _/ ------ | | \ \ + | - - / | | \ ) + | | - | | ) | | + | | | | | | | | + | | < | | | |_/ + < | /__\ < \ + /__\ /___\"); + Console.ReadLine(); + } + } +} diff --git a/example/drawhorse/drawhorse/Properties/AssemblyInfo.cs b/example/drawhorse/drawhorse/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..503b4e1 --- /dev/null +++ b/example/drawhorse/drawhorse/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанные с этой сборкой. +[assembly: AssemblyTitle("drawhorse")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("drawhorse")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// из модели COM задайте для атрибута ComVisible этого типа значение true. +[assembly: ComVisible(false)] + +// Следующий GUID представляет идентификатор typelib, если этот проект доступен из модели COM +[assembly: Guid("2a403205-de3c-4836-8789-f1f760843bd2")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Номер редакции +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe b/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe new file mode 100644 index 0000000..4b41084 Binary files /dev/null and b/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe differ diff --git a/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe.config b/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/example/drawhorse/drawhorse/bin/Debug/drawhorse.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/example/drawhorse/drawhorse/bin/Debug/drawhorse.pdb b/example/drawhorse/drawhorse/bin/Debug/drawhorse.pdb new file mode 100644 index 0000000..ba2badd Binary files /dev/null and b/example/drawhorse/drawhorse/bin/Debug/drawhorse.pdb differ diff --git a/example/drawhorse/drawhorse/drawhorse.csproj b/example/drawhorse/drawhorse/drawhorse.csproj new file mode 100644 index 0000000..fcf0ec8 --- /dev/null +++ b/example/drawhorse/drawhorse/drawhorse.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {2A403205-DE3C-4836-8789-F1F760843BD2} + Exe + drawhorse + drawhorse + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/example/drawhorse/drawhorse/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/example/drawhorse/drawhorse/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/example/drawhorse/drawhorse/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/example/drawhorse/drawhorse/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/example/drawhorse/drawhorse/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..300b7c6 Binary files /dev/null and b/example/drawhorse/drawhorse/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.AssemblyReference.cache b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.AssemblyReference.cache new file mode 100644 index 0000000..f5e894a Binary files /dev/null and b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.AssemblyReference.cache differ diff --git a/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.CoreCompileInputs.cache b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ee191d7 --- /dev/null +++ b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +7f4b213b428f4c013f19137338418ee1f5525793 diff --git a/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.FileListAbsolute.txt b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..681f886 --- /dev/null +++ b/example/drawhorse/drawhorse/obj/Debug/drawhorse.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\bin\Debug\drawhorse.exe.config +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\bin\Debug\drawhorse.exe +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\bin\Debug\drawhorse.pdb +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\obj\Debug\drawhorse.csproj.AssemblyReference.cache +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\obj\Debug\drawhorse.csproj.CoreCompileInputs.cache +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\obj\Debug\drawhorse.exe +C:\Users\BarsTigerMeowcat\source\repos\drawhorse\drawhorse\obj\Debug\drawhorse.pdb +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\bin\Debug\drawhorse.exe.config +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\bin\Debug\drawhorse.exe +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\bin\Debug\drawhorse.pdb +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\obj\Debug\drawhorse.csproj.AssemblyReference.cache +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\obj\Debug\drawhorse.csproj.CoreCompileInputs.cache +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\obj\Debug\drawhorse.exe +D:\RAZNOE\!программирование\VisualStudioProjects\drawhorse\drawhorse\obj\Debug\drawhorse.pdb diff --git a/example/drawhorse/drawhorse/obj/Debug/drawhorse.exe b/example/drawhorse/drawhorse/obj/Debug/drawhorse.exe new file mode 100644 index 0000000..4b41084 Binary files /dev/null and b/example/drawhorse/drawhorse/obj/Debug/drawhorse.exe differ diff --git a/example/drawhorse/drawhorse/obj/Debug/drawhorse.pdb b/example/drawhorse/drawhorse/obj/Debug/drawhorse.pdb new file mode 100644 index 0000000..ba2badd Binary files /dev/null and b/example/drawhorse/drawhorse/obj/Debug/drawhorse.pdb differ diff --git a/horsy.py b/horsy.py index d4bd981..55c9d1e 100644 --- a/horsy.py +++ b/horsy.py @@ -14,9 +14,9 @@ import modules.vars as horsy_vars # Getting the arguments parser = argparse.ArgumentParser(description='horsy - the best package manager') parser.add_argument('option', help='options for horsy (install/i | uninstall/un | source/s | update/u | list/l | ' - 'upload | search | info)', + 'upload | search | info | like | dislike)', choices=['install', 'i', 'uninstall', 'un', 'source', 's', 'update', 'u', 'list', 'l', 'upload', - 'search', 'info'], + 'search', 'info', 'like', 'dislike'], nargs='?') parser.add_argument('app', help='app to do function with', nargs='?') parser.add_argument('--vt', help='your virustotal api key (account -> api key in VT)', dest='vt_key') diff --git a/img/algolia120x32.png b/img/algolia120x32.png new file mode 100644 index 0000000..829e8c3 Binary files /dev/null and b/img/algolia120x32.png differ diff --git a/img/horsy_white32x32.png b/img/horsy_white32x32.png new file mode 100644 index 0000000..40e1950 Binary files /dev/null and b/img/horsy_white32x32.png differ diff --git a/modules/liker.py b/modules/liker.py new file mode 100644 index 0000000..e69de29 diff --git a/uis/horsy_main.py b/uis/horsy_main.py new file mode 100644 index 0000000..7045db5 --- /dev/null +++ b/uis/horsy_main.py @@ -0,0 +1,526 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'D:\RAZNOE\prgrming\horsy\Source\client\uis\horsy_main.ui' +# +# Created by: PyQt5 UI code generator 5.15.6 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(899, 700) + MainWindow.setMinimumSize(QtCore.QSize(899, 700)) + MainWindow.setMaximumSize(QtCore.QSize(899, 700)) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("D:\\RAZNOE\\prgrming\\horsy\\Source\\client\\uis\\../img/horsy_white32x32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + MainWindow.setWindowIcon(icon) + MainWindow.setWindowOpacity(0.99) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setStyleSheet("QWidget{\n" +" background-color: rgb(30, 30, 30);\n" +"}\n" +"") + self.centralwidget.setObjectName("centralwidget") + self.horsy_logo_lefttop = QtWidgets.QLabel(self.centralwidget) + self.horsy_logo_lefttop.setGeometry(QtCore.QRect(10, 10, 32, 32)) + self.horsy_logo_lefttop.setStyleSheet("background: none;") + self.horsy_logo_lefttop.setText("") + self.horsy_logo_lefttop.setPixmap(QtGui.QPixmap("D:\\RAZNOE\\prgrming\\horsy\\Source\\client\\uis\\../img/horsy_white32x32.png")) + self.horsy_logo_lefttop.setObjectName("horsy_logo_lefttop") + self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) + self.tabWidget.setGeometry(QtCore.QRect(10, 4, 881, 691)) + self.tabWidget.setToolTip("") + self.tabWidget.setLayoutDirection(QtCore.Qt.RightToLeft) + self.tabWidget.setAutoFillBackground(False) + self.tabWidget.setStyleSheet("QTabBar::tab\n" +"{\n" +" background: rgb(22, 22, 22);\n" +" color: white; \n" +" font: 12pt \"MS Shell Dlg 2\";\n" +" width: 150px;\n" +" height: 21px;\n" +" padding: 13px;\n" +"}\n" +"\n" +"QTabBar::tab:selected\n" +"{\n" +" color: rgb(166, 184, 200);\n" +" background: rgb(45, 45, 45);\n" +"}\n" +"\n" +"QTabBar::tab:hover \n" +"{\n" +" color: rgb(166, 184, 200);\n" +" background: rgb(29, 29, 29);\n" +"}\n" +"\n" +"QTabBar\n" +"{\n" +"margin-top: 5px;\n" +"}\n" +"") + self.tabWidget.setDocumentMode(True) + self.tabWidget.setTabsClosable(False) + self.tabWidget.setMovable(True) + self.tabWidget.setTabBarAutoHide(False) + self.tabWidget.setObjectName("tabWidget") + self.account_tab = QtWidgets.QWidget() + self.account_tab.setObjectName("account_tab") + self.tabWidget.addTab(self.account_tab, "") + self.upload_tab = QtWidgets.QWidget() + self.upload_tab.setObjectName("upload_tab") + self.lineEdit = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit.setGeometry(QtCore.QRect(10, 55, 101, 31)) + self.lineEdit.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit.setObjectName("lineEdit") + self.textBrowser = QtWidgets.QTextBrowser(self.upload_tab) + self.textBrowser.setGeometry(QtCore.QRect(10, 10, 321, 41)) + self.textBrowser.setStyleSheet("color: white;\n" +"border: none;") + self.textBrowser.setAcceptRichText(False) + self.textBrowser.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) + self.textBrowser.setObjectName("textBrowser") + self.textBrowser_2 = QtWidgets.QTextBrowser(self.upload_tab) + self.textBrowser_2.setGeometry(QtCore.QRect(120, 60, 321, 21)) + self.textBrowser_2.setStyleSheet("color: white;\n" +"border: none;") + self.textBrowser_2.setAcceptRichText(False) + self.textBrowser_2.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) + self.textBrowser_2.setObjectName("textBrowser_2") + self.textBrowser_3 = QtWidgets.QTextBrowser(self.upload_tab) + self.textBrowser_3.setGeometry(QtCore.QRect(10, 90, 256, 101)) + self.textBrowser_3.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.textBrowser_3.setAcceptRichText(False) + self.textBrowser_3.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByKeyboard|QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextBrowserInteraction|QtCore.Qt.TextEditable|QtCore.Qt.TextEditorInteraction|QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse) + self.textBrowser_3.setObjectName("textBrowser_3") + self.lineEdit_2 = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit_2.setGeometry(QtCore.QRect(10, 195, 291, 31)) + self.lineEdit_2.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit_2.setObjectName("lineEdit_2") + self.lineEdit_3 = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit_3.setGeometry(QtCore.QRect(10, 230, 291, 31)) + self.lineEdit_3.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit_3.setObjectName("lineEdit_3") + self.lineEdit_4 = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit_4.setGeometry(QtCore.QRect(10, 265, 291, 31)) + self.lineEdit_4.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit_4.setObjectName("lineEdit_4") + self.lineEdit_5 = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit_5.setGeometry(QtCore.QRect(10, 300, 291, 31)) + self.lineEdit_5.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit_5.setObjectName("lineEdit_5") + self.lineEdit_6 = QtWidgets.QLineEdit(self.upload_tab) + self.lineEdit_6.setGeometry(QtCore.QRect(10, 335, 291, 31)) + self.lineEdit_6.setStyleSheet("background-color: rgb(74, 76, 83);\n" +"border-radius: 5px; \n" +"color: rgb(242, 242, 242);") + self.lineEdit_6.setObjectName("lineEdit_6") + self.info_button_2 = QtWidgets.QPushButton(self.upload_tab) + self.info_button_2.setEnabled(True) + self.info_button_2.setGeometry(QtCore.QRect(10, 380, 291, 50)) + self.info_button_2.setMinimumSize(QtCore.QSize(0, 50)) + self.info_button_2.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.info_button_2.setObjectName("info_button_2") + self.textBrowser_4 = QtWidgets.QTextBrowser(self.upload_tab) + self.textBrowser_4.setGeometry(QtCore.QRect(10, 450, 281, 161)) + self.textBrowser_4.setStyleSheet("color: white;\n" +"border: none;") + self.textBrowser_4.setAcceptRichText(False) + self.textBrowser_4.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) + self.textBrowser_4.setObjectName("textBrowser_4") + self.label = QtWidgets.QLabel(self.upload_tab) + self.label.setGeometry(QtCore.QRect(390, 40, 471, 551)) + self.label.setStyleSheet("background: none") + self.label.setText("") + self.label.setPixmap(QtGui.QPixmap("D:\\RAZNOE\\prgrming\\horsy\\Source\\client\\uis\\../img/horsy_white.png")) + self.label.setObjectName("label") + self.tabWidget.addTab(self.upload_tab, "") + self.browse_tab = QtWidgets.QWidget() + self.browse_tab.setLayoutDirection(QtCore.Qt.LeftToRight) + self.browse_tab.setObjectName("browse_tab") + self.search_table = QtWidgets.QTableWidget(self.browse_tab) + self.search_table.setGeometry(QtCore.QRect(0, 90, 871, 481)) + self.search_table.setStyleSheet("QTableWidget\n" +"{\n" +"color: white;\n" +"font: 15pt \"MS Shell Dlg 2\";\n" +"margin: 20px;\n" +"border-radius: 45px;\n" +"}\n" +"") + self.search_table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored) + self.search_table.setAutoScroll(False) + self.search_table.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) + self.search_table.setTabKeyNavigation(False) + self.search_table.setProperty("showDropIndicator", False) + self.search_table.setDragDropOverwriteMode(False) + self.search_table.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) + self.search_table.setShowGrid(False) + self.search_table.setRowCount(1) + self.search_table.setColumnCount(4) + self.search_table.setObjectName("search_table") + item = QtWidgets.QTableWidgetItem() + self.search_table.setItem(0, 0, item) + item = QtWidgets.QTableWidgetItem() + self.search_table.setItem(0, 1, item) + self.search_table.horizontalHeader().setVisible(False) + self.search_table.horizontalHeader().setDefaultSectionSize(203) + self.search_table.horizontalHeader().setHighlightSections(False) + self.search_table.horizontalHeader().setMinimumSectionSize(150) + self.search_table.verticalHeader().setVisible(False) + self.search_table.verticalHeader().setDefaultSectionSize(120) + self.search_table.verticalHeader().setHighlightSections(False) + self.search_box = QtWidgets.QTextEdit(self.browse_tab) + self.search_box.setEnabled(True) + self.search_box.setGeometry(QtCore.QRect(30, 30, 711, 51)) + self.search_box.setStyleSheet("QTextEdit {\n" +" background-color: rgb(74, 76, 83);\n" +" border-radius: 15px; \n" +" color: rgb(242, 242, 242);\n" +" padding: 15px, 15px;\n" +" border: 15px white;\n" +"}") + self.search_box.setLineWrapMode(QtWidgets.QTextEdit.NoWrap) + self.search_box.setAcceptRichText(False) + self.search_box.setTextInteractionFlags(QtCore.Qt.TextEditorInteraction) + self.search_box.setObjectName("search_box") + self.search_button = QtWidgets.QPushButton(self.browse_tab) + self.search_button.setEnabled(True) + self.search_button.setGeometry(QtCore.QRect(750, 30, 91, 50)) + self.search_button.setMinimumSize(QtCore.QSize(0, 50)) + self.search_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.search_button.setObjectName("search_button") + self.install_button = QtWidgets.QPushButton(self.browse_tab) + self.install_button.setEnabled(True) + self.install_button.setGeometry(QtCore.QRect(20, 575, 146, 50)) + self.install_button.setMinimumSize(QtCore.QSize(0, 50)) + self.install_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.install_button.setObjectName("install_button") + self.source_button = QtWidgets.QPushButton(self.browse_tab) + self.source_button.setEnabled(True) + self.source_button.setGeometry(QtCore.QRect(200, 575, 146, 50)) + self.source_button.setMinimumSize(QtCore.QSize(0, 50)) + self.source_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.source_button.setObjectName("source_button") + self.info_button = QtWidgets.QPushButton(self.browse_tab) + self.info_button.setEnabled(True) + self.info_button.setGeometry(QtCore.QRect(370, 575, 146, 50)) + self.info_button.setMinimumSize(QtCore.QSize(0, 50)) + self.info_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.info_button.setObjectName("info_button") + self.like_button = QtWidgets.QPushButton(self.browse_tab) + self.like_button.setEnabled(True) + self.like_button.setGeometry(QtCore.QRect(540, 575, 146, 50)) + self.like_button.setMinimumSize(QtCore.QSize(0, 50)) + self.like_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.like_button.setObjectName("like_button") + self.dislike_button = QtWidgets.QPushButton(self.browse_tab) + self.dislike_button.setEnabled(True) + self.dislike_button.setGeometry(QtCore.QRect(710, 575, 146, 50)) + self.dislike_button.setMinimumSize(QtCore.QSize(0, 50)) + self.dislike_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.dislike_button.setObjectName("dislike_button") + self.label_2 = QtWidgets.QLabel(self.browse_tab) + self.label_2.setGeometry(QtCore.QRect(820, 530, 31, 31)) + self.label_2.setStyleSheet("background: none;") + self.label_2.setText("") + self.label_2.setPixmap(QtGui.QPixmap("D:\\RAZNOE\\prgrming\\horsy\\Source\\client\\uis\\../img/algolia120x32.png")) + self.label_2.setObjectName("label_2") + self.tabWidget.addTab(self.browse_tab, "") + self.installed_tab = QtWidgets.QWidget() + self.installed_tab.setLayoutDirection(QtCore.Qt.LeftToRight) + self.installed_tab.setObjectName("installed_tab") + self.delete_button = QtWidgets.QPushButton(self.installed_tab) + self.delete_button.setEnabled(True) + self.delete_button.setGeometry(QtCore.QRect(440, 575, 421, 50)) + self.delete_button.setMinimumSize(QtCore.QSize(0, 50)) + self.delete_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.delete_button.setObjectName("delete_button") + self.update_button = QtWidgets.QPushButton(self.installed_tab) + self.update_button.setEnabled(True) + self.update_button.setGeometry(QtCore.QRect(20, 575, 401, 50)) + self.update_button.setMinimumSize(QtCore.QSize(0, 50)) + self.update_button.setStyleSheet("QPushButton {\n" +" color: rgb(204, 204, 204);\n" +" border-width: 1px;\n" +" border-radius:6px;\n" +" border-style: solid;\n" +" background-color: rgb(28, 30, 33);\n" +" border-color: rgb(66, 143, 225);\n" +"}\n" +"QPushButton:hover{\n" +" border-width: 2px;\n" +"}\n" +"QPushButton:pressed{\n" +" background-color: rgb(50, 60, 63);\n" +"}\n" +"QPushButton:disabled{\n" +" border-width: 0px;\n" +" background-color: rgb(92, 99, 109);\n" +"}") + self.update_button.setObjectName("update_button") + self.installed_table = QtWidgets.QTableWidget(self.installed_tab) + self.installed_table.setGeometry(QtCore.QRect(0, 10, 871, 571)) + self.installed_table.setStyleSheet("QTableWidget\n" +"{\n" +"color: white;\n" +"font: 15pt \"MS Shell Dlg 2\";\n" +"margin: 20px;\n" +"border-radius: 45px;\n" +"}\n" +"") + self.installed_table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored) + self.installed_table.setAutoScroll(False) + self.installed_table.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) + self.installed_table.setTabKeyNavigation(False) + self.installed_table.setProperty("showDropIndicator", False) + self.installed_table.setDragDropOverwriteMode(False) + self.installed_table.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) + self.installed_table.setShowGrid(False) + self.installed_table.setRowCount(1) + self.installed_table.setColumnCount(4) + self.installed_table.setObjectName("installed_table") + item = QtWidgets.QTableWidgetItem() + self.installed_table.setItem(0, 0, item) + item = QtWidgets.QTableWidgetItem() + self.installed_table.setItem(0, 1, item) + self.installed_table.horizontalHeader().setVisible(False) + self.installed_table.horizontalHeader().setDefaultSectionSize(203) + self.installed_table.horizontalHeader().setHighlightSections(False) + self.installed_table.horizontalHeader().setMinimumSectionSize(150) + self.installed_table.verticalHeader().setVisible(False) + self.installed_table.verticalHeader().setDefaultSectionSize(120) + self.installed_table.verticalHeader().setHighlightSections(False) + self.tabWidget.addTab(self.installed_tab, "") + self.horsy_text_lefttop = QtWidgets.QLabel(self.centralwidget) + self.horsy_text_lefttop.setGeometry(QtCore.QRect(60, 10, 71, 31)) + self.horsy_text_lefttop.setStyleSheet("color: white;\n" +"font: 20pt \"MS Shell Dlg 2\";\n" +"background: none;") + self.horsy_text_lefttop.setObjectName("horsy_text_lefttop") + self.tabWidget.raise_() + self.horsy_logo_lefttop.raise_() + self.horsy_text_lefttop.raise_() + MainWindow.setCentralWidget(self.centralwidget) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(0) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "horsy")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.account_tab), _translate("MainWindow", "Account")) + self.lineEdit.setPlaceholderText(_translate("MainWindow", "Package name")) + self.textBrowser.setHtml(_translate("MainWindow", "\n" +"\n" +"

Before starting, please make sure you have done your project and uploaded it to any hosting service or file sharing service

")) + self.textBrowser_2.setHtml(_translate("MainWindow", "\n" +"\n" +"

It should contain only lowercase letters, underscores and dashes

")) + self.textBrowser_3.setHtml(_translate("MainWindow", "\n" +"\n" +"


")) + self.textBrowser_3.setPlaceholderText(_translate("MainWindow", "Package description. It should be a short text under 256 characters")) + self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "Url of executable (ends on .exe or .zip)")) + self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Url of source (project on GitHub, source archive)")) + self.lineEdit_4.setPlaceholderText(_translate("MainWindow", "Dependency URL (installer in .exe)")) + self.lineEdit_5.setPlaceholderText(_translate("MainWindow", "Dependency run (run this during installation)")) + self.lineEdit_6.setPlaceholderText(_translate("MainWindow", "Main executable command (file.exe, python main.py, etc)")) + self.info_button_2.setText(_translate("MainWindow", "Upload")) + self.textBrowser_4.setHtml(_translate("MainWindow", "\n" +"\n" +"

We don\'t moderate any apps and we won\'t delete your app, if it is not doesn\'t match some rules. But, if your app uses server vulnerabilities or hinders server work, we will delete your app. Keep in mind, that we don\'t responsible for your apps, but we advise you to share only working and safe apps on horsy

")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.upload_tab), _translate("MainWindow", "Upload")) + self.search_table.setSortingEnabled(True) + __sortingEnabled = self.search_table.isSortingEnabled() + self.search_table.setSortingEnabled(False) + self.search_table.setSortingEnabled(__sortingEnabled) + self.search_box.setPlaceholderText(_translate("MainWindow", "Search packages...")) + self.search_button.setText(_translate("MainWindow", "Search")) + self.install_button.setText(_translate("MainWindow", "Install")) + self.source_button.setText(_translate("MainWindow", "Get source")) + self.info_button.setText(_translate("MainWindow", "Info")) + self.like_button.setText(_translate("MainWindow", "👍")) + self.dislike_button.setText(_translate("MainWindow", "👎")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.browse_tab), _translate("MainWindow", "Browse")) + self.delete_button.setText(_translate("MainWindow", "Uninstall")) + self.update_button.setText(_translate("MainWindow", "Update")) + self.installed_table.setSortingEnabled(True) + __sortingEnabled = self.installed_table.isSortingEnabled() + self.installed_table.setSortingEnabled(False) + self.installed_table.setSortingEnabled(__sortingEnabled) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.installed_tab), _translate("MainWindow", "Installed apps")) + self.horsy_text_lefttop.setText(_translate("MainWindow", "horsy")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec_()) diff --git a/uis/horsy_main.ui b/uis/horsy_main.ui index 7bff7e1..ea0ae0a 100644 --- a/uis/horsy_main.ui +++ b/uis/horsy_main.ui @@ -6,25 +6,1059 @@ 0 0 - 800 - 600 + 899 + 700 - - MainWindow + + + 899 + 700 + - - - - - 0 - 0 - 800 - 21 - + + + 899 + 700 + + + + horsy + + + + ../img/horsy_white32x32.png../img/horsy_white32x32.png + + + 0.990000000000000 + + + + QWidget{ + background-color: rgb(30, 30, 30); +} + + + + + 10 + 10 + 32 + 32 + + + + background: none; + + + + + + ../img/horsy_white32x32.png + + + + + + 10 + 4 + 881 + 691 + + + + + + + Qt::RightToLeft + + + false + + + QTabBar::tab +{ + background: rgb(22, 22, 22); + color: white; + font: 12pt "MS Shell Dlg 2"; + width: 150px; + height: 21px; + padding: 13px; +} + +QTabBar::tab:selected +{ + color: rgb(166, 184, 200); + background: rgb(45, 45, 45); +} + +QTabBar::tab:hover +{ + color: rgb(166, 184, 200); + background: rgb(29, 29, 29); +} + +QTabBar +{ +margin-top: 5px; +} + + + + 0 + + + true + + + false + + + true + + + false + + + + Account + + + + true + + + + 720 + 10 + 151 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Log in/Log out + + + + + + Upload + + + + + 10 + 55 + 101 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Package name + + + + + + 10 + 10 + 321 + 41 + + + + color: white; +border: none; + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Before starting, please make sure you have done your project and <span style=" font-weight:600;">uploaded</span> it to any hosting service or file sharing service</p></body></html> + + + false + + + Qt::NoTextInteraction + + + + + + 120 + 60 + 321 + 21 + + + + color: white; +border: none; + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">It should contain only lowercase letters, underscores and dashes</p></body></html> + + + false + + + Qt::NoTextInteraction + + + + + + 10 + 90 + 256 + 101 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + false + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextEditable|Qt::TextEditorInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + Package description. It should be a short text under 256 characters + + + + + + 10 + 195 + 291 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Url of executable (ends on .exe or .zip) + + + + + + 10 + 230 + 291 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Url of source (project on GitHub, source archive) + + + + + + 10 + 265 + 291 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Dependency URL (installer in .exe) + + + + + + 10 + 300 + 291 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Dependency run (run this during installation) + + + + + + 10 + 335 + 291 + 31 + + + + background-color: rgb(74, 76, 83); +border-radius: 5px; +color: rgb(242, 242, 242); + + + Main executable command (file.exe, python main.py, etc) + + + + + true + + + + 10 + 380 + 291 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Upload + + + + + + 10 + 450 + 281 + 161 + + + + color: white; +border: none; + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">We don't moderate any apps and we </span><span style=" font-size:11pt; font-weight:600;">won't</span><span style=" font-size:11pt;"> delete your app, if it is not doesn't match some rules. But, if your app uses server vulnerabilities or hinders server work, we will delete your app. Keep in mind, that we don't responsible for your apps, but we advise you to share only working and safe apps on horsy</span></p></body></html> + + + false + + + Qt::NoTextInteraction + + + + + + 390 + 40 + 471 + 551 + + + + background: none + + + + + + ../img/horsy_white.png + + + + + + Qt::LeftToRight + + + Browse + + + + + 0 + 90 + 871 + 481 + + + + QTableWidget +{ +color: white; +font: 15pt "MS Shell Dlg 2"; +margin: 20px; +border-radius: 45px; +} + + + + QAbstractScrollArea::AdjustIgnored + + + false + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + false + + + QAbstractItemView::SingleSelection + + + false + + + true + + + 1 + + + 4 + + + false + + + 203 + + + false + + + 150 + + + false + + + 120 + + + false + + + + + + + + + + + + + + + + + + + + true + + + + 30 + 30 + 711 + 51 + + + + QTextEdit { + background-color: rgb(74, 76, 83); + border-radius: 15px; + color: rgb(242, 242, 242); + padding: 15px, 15px; + border: 15px white; +} + + + QTextEdit::NoWrap + + + false + + + Qt::TextEditorInteraction + + + Search packages... + + + + + true + + + + 750 + 30 + 91 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Search + + + + + true + + + + 20 + 575 + 146 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Install + + + + + true + + + + 200 + 575 + 146 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Get source + + + + + true + + + + 370 + 575 + 146 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Info + + + + + true + + + + 540 + 575 + 146 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + 👍 + + + + + true + + + + 710 + 575 + 146 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + 👎 + + + + + + 820 + 530 + 31 + 31 + + + + background: none; + + + + + + ../img/algolia120x32.png + + + + + + Qt::LeftToRight + + + Installed apps + + + + true + + + + 440 + 575 + 421 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Uninstall + + + + + true + + + + 20 + 575 + 401 + 50 + + + + + 0 + 50 + + + + QPushButton { + color: rgb(204, 204, 204); + border-width: 1px; + border-radius:6px; + border-style: solid; + background-color: rgb(28, 30, 33); + border-color: rgb(66, 143, 225); +} +QPushButton:hover{ + border-width: 2px; +} +QPushButton:pressed{ + background-color: rgb(50, 60, 63); +} +QPushButton:disabled{ + border-width: 0px; + background-color: rgb(92, 99, 109); +} + + + Update + + + + + + 0 + 10 + 871 + 571 + + + + QTableWidget +{ +color: white; +font: 15pt "MS Shell Dlg 2"; +margin: 20px; +border-radius: 45px; +} + + + + QAbstractScrollArea::AdjustIgnored + + + false + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + false + + + QAbstractItemView::SingleSelection + + + false + + + true + + + 1 + + + 4 + + + false + + + 203 + + + false + + + 150 + + + false + + + 120 + + + false + + + + + + + + + + + + + + + + + + + + + + + 60 + 10 + 71 + 31 + + + + color: white; +font: 20pt "MS Shell Dlg 2"; +background: none; + + + horsy + + + tabWidget + horsy_logo_lefttop + horsy_text_lefttop -