Added  File Browser
This commit is contained in:
Jordon Brooks 2016-07-09 10:09:42 +01:00
parent c56a313fc5
commit 2538cc2290
4 changed files with 202 additions and 125 deletions

211
.idea/workspace.xml generated
View file

@ -20,12 +20,12 @@
<favorites_list name="JDE" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="desktop.py" pinned="false" current-in-tab="true">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="desktop.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/JDE/Interfaces/desktop.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2227">
<caret line="131" column="62" selection-start-line="131" selection-start-column="62" selection-end-line="131" selection-end-column="62" />
<state relative-caret-position="68">
<caret line="166" column="0" selection-start-line="166" selection-start-column="0" selection-end-line="166" selection-end-column="0" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
@ -33,6 +33,28 @@
</provider>
</entry>
</file>
<file leaf-file-name="settings.conf" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/JDE/Settings/settings.conf">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="14" selection-start-line="8" selection-start-column="14" selection-end-line="8" selection-end-column="14" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="FileBrowser.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Programs/FileBrowser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="7" column="45" selection-start-line="7" selection-start-column="45" selection-end-line="7" selection-end-column="45" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@ -58,6 +80,7 @@
<option value="$PROJECT_DIR$/JDE/Logs/09-07-2016-08-27AM.log" />
<option value="$PROJECT_DIR$/JDE/JDE.py" />
<option value="$PROJECT_DIR$/JDE/Interfaces/login.py" />
<option value="$PROJECT_DIR$/Programs/FileBrowser.py" />
<option value="$PROJECT_DIR$/JDE/Interfaces/desktop.py" />
<option value="$PROJECT_DIR$/JDE/Settings/settings.conf" />
</list>
@ -94,6 +117,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -126,10 +150,45 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Settings" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JDE" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Interfaces" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -380,18 +439,18 @@
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32882884" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32970452" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32763976" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39906833" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32659408" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39906833" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="UnknownFeatures">
@ -415,14 +474,11 @@
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="4" />
<option name="time" value="5" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-11-55AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-11-56AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-11-59AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-12-03PM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-12-04PM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/23-06-2016-12-08PM.log" />
@ -489,11 +545,6 @@
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/29-06-2016-14-14PM.log" />
<entry file="file://$PROJECT_DIR$/README.md">
<provider editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
</state>
</provider>
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="170">
@ -502,6 +553,11 @@
<second_editor />
</state>
</provider>
<provider editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
</state>
</provider>
<provider editor-type-id="MarkdownFxPreviewEditor">
<state />
</provider>
@ -523,92 +579,51 @@
<entry file="file://$PROJECT_DIR$/JDE/Logs/08-07-2016-12-02PM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/08-07-2016-12-04PM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/08-07-2016-12-10PM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-15AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" column="76" selection-start-line="7" selection-start-column="45" selection-end-line="7" selection-end-column="76" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-17AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-21AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-22AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-26AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-153">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-27AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-27AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1380">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-33AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-207">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-15AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-17AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-21AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-22AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-26AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-27AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-27AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-08-33AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/JDE.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="4" column="10" selection-start-line="4" selection-start-column="10" selection-end-line="4" selection-end-column="10" />
<folding>
<element signature="e#24#38#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-09-01AM.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-357">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-09-01AM.log" />
<entry file="file://$PROJECT_DIR$/JDE/Interfaces/login.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="147" column="52" selection-start-line="147" selection-start-column="52" selection-end-line="147" selection-end-column="52" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Logs/09-07-2016-09-27AM.log" />
<entry file="file://$PROJECT_DIR$/Programs/FileBrowser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="7" column="45" selection-start-line="7" selection-start-column="45" selection-end-line="7" selection-end-column="45" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/PycharmProjects/tkinterWindows/myProgram.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="3" selection-start-line="0" selection-start-column="3" selection-end-line="0" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Interfaces/desktop.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="68">
<caret line="166" column="0" selection-start-line="166" selection-start-column="0" selection-end-line="166" selection-end-column="0" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
@ -617,21 +632,11 @@
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Settings/settings.conf">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" column="24" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
<state relative-caret-position="136">
<caret line="8" column="14" selection-start-line="8" selection-start-column="14" selection-end-line="8" selection-end-column="14" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/JDE/Interfaces/desktop.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2227">
<caret line="131" column="62" selection-start-line="131" selection-start-column="62" selection-end-line="131" selection-end-column="62" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View file

@ -13,6 +13,7 @@ from Programs import imageViewer
from Programs import minesweeper
from Programs import terminal
from Programs.webEdit import htmlEdit as webEdit
from Programs import FileBrowser
import threading
desktopLog = logging.getLogger(__name__)
@ -28,7 +29,7 @@ except Exception as e:
class desktop:
def box(self, event):
desktopLog.debug("Running "+desktop.box.__name__)
desktopLog.debug("Running " + desktop.box.__name__)
try:
if (self.clicked == False):
self.searchvar.set("")
@ -38,7 +39,7 @@ class desktop:
desktopLog.error(str(e))
def search_internet(self, event):
desktopLog.debug("Running "+desktop.search_internet.__name__)
desktopLog.debug("Running " + desktop.search_internet.__name__)
# TODO: Find a way to implement a browser
try:
webbrowser.open_new_tab("https://www.google.co.uk/#q=" + self.searchvar.get().replace(" ", "+"))
@ -47,7 +48,7 @@ class desktop:
def reposition(self, event):
if self.tempWidth != self.window.winfo_width() or self.tempHeight != self.window.winfo_height():
desktopLog.debug("Running "+desktop.reposition.__name__)
desktopLog.debug("Running " + desktop.reposition.__name__)
try:
self.cHeight = self.window.winfo_height()
self.cWidth = self.window.winfo_width()
@ -81,12 +82,12 @@ class desktop:
self.canvas.create_image(0, 0, image=self.background_image, anchor=NW, tag="background")
except Exception as e:
desktopLog.error(str(e))
threading.Thread(target=searchPlaceRepos, daemon=True).start()
threading.Thread(target=toolbarPlaceRepos, daemon=True).start()
threading.Thread(target=notifyBarPlaceRepos, daemon=True).start()
threading.Thread(target=resizeBackground, daemon=True).start()
self.windowX = self.window.winfo_x()
self.windowY = (self.window.winfo_y() + self.window.winfo_height())
@ -95,7 +96,7 @@ class desktop:
desktopLog.error(str(e))
def fullScreen(self, event):
desktopLog.debug("Running "+desktop.fullScreen.__name__)
desktopLog.debug("Running " + desktop.fullScreen.__name__)
try:
if self.max == 0:
self.window.attributes('-fullscreen', True)
@ -107,7 +108,7 @@ class desktop:
desktopLog.error(str(e))
def clockTick(self):
desktopLog.debug("Running "+desktop.clockTick.__name__)
desktopLog.debug("Running " + desktop.clockTick.__name__)
try:
self.desktopRefresh()
# cTime = time.strftime("%H:%M:%S")
@ -123,7 +124,7 @@ class desktop:
desktopLog.error(str(e))
def createSearch(self):
desktopLog.debug("Running "+desktop.createSearch.__name__)
desktopLog.debug("Running " + desktop.createSearch.__name__)
try:
self.searchText = Label(self.window, text="Search for: ")
self.searchvar = StringVar()
@ -136,7 +137,7 @@ class desktop:
desktopLog.error(str(e))
def contextMenuPopup(self, event):
desktopLog.debug("Running "+desktop.contextMenuPopup.__name__)
desktopLog.debug("Running " + desktop.contextMenuPopup.__name__)
try:
# start.start(self.menuColour, event.x_root, event.y_root)
self.contextMenu.post(event.x_root, event.y_root)
@ -151,12 +152,15 @@ class desktop:
self.contextMenu.add_command(label=label, command=command, state=state)
def createContextMenu(self):
desktopLog.debug("Running "+desktop.createContextMenu.__name__)
desktopLog.debug("Running " + desktop.createContextMenu.__name__)
try:
self.contextMenu = Menu(self.window, tearoff=0, bg=self.contextMenuColour)
self.contextMenu = Menu(self.window, tearoff=0, bg=self.contextMenuColour, bd=0, relief=FLAT)
self.games = Menu(self.contextMenu, bg=self.contextMenuColour)
self.applications = Menu(self.contextMenu, bg=self.contextMenuColour)
self.games = Menu(self.contextMenu, bg=self.contextMenuColour, tearoff=0, relief=FLAT, bd=0)
self.applications = Menu(self.contextMenu, bg=self.contextMenuColour, tearoff=0, relief=FLAT, bd=0)
def FileBrowserRun():
FileBrowser.fileBrowser(self.window, os.path.realpath(os.path.dirname(__file__+"../../../")))
def minesweeperRun():
minesweeper.mine_sweeper(self.window, self.menuColour)
@ -178,6 +182,7 @@ class desktop:
self.contextMenu.add_cascade(label="Games", menu=self.games)
self.contextMenu.add_cascade(label="Applications", menu=self.applications)
self.applications.add_command(label="File Browser", command=FileBrowserRun)
self.applications.add_command(label="Jpad", command=jpadEdit)
self.applications.add_command(label="WebEdit", command=webEditor)
self.applications.add_command(label="View Images", command=viewImage)
@ -196,7 +201,7 @@ class desktop:
def desktopRefresh(self):
try:
desktopLog.debug("Running "+desktop.desktopRefresh.__name__)
desktopLog.debug("Running " + desktop.desktopRefresh.__name__)
self.fileImage = PhotoImage(file="JDE/Images/file.png")
self.f = []
self.l = []
@ -231,7 +236,7 @@ class desktop:
self.space += 80
self.f.append(Button(self.window, image=self.fileImage))
self.f.append(Button(self.window, image=self.fileImage, relief=FLAT))
self.f[files].place(x=int(80), y=int(20) + self.space, width=40, height=40)
@ -252,14 +257,14 @@ class desktop:
desktopLog.error(str(e))
def refresh(self):
desktopLog.debug("Running "+desktop.refresh.__name__)
desktopLog.debug("Running " + desktop.refresh.__name__)
try:
self.desktopRefresh()
except Exception as e:
desktopLog.error(str(e))
def createStart(self):
desktopLog.debug("Running "+desktop.createStart.__name__)
desktopLog.debug("Running " + desktop.createStart.__name__)
try:
start.start(self.menuColour, int(0), int(self.window.winfo_height()))
except Exception as e:
@ -267,7 +272,7 @@ class desktop:
def createBackground(self):
try:
desktopLog.debug("Running "+desktop.createBackground.__name__)
desktopLog.debug("Running " + desktop.createBackground.__name__)
self.image = PIL.Image.open(self.background)
self.background_image = PIL.ImageTk.PhotoImage(self.image)
self.canvas.background_image = self.background_image
@ -277,14 +282,14 @@ class desktop:
desktopLog.error(str(e))
def createIcon(self):
desktopLog.debug("Running"+desktop.createIcon.__name__)
desktopLog.debug("Running" + desktop.createIcon.__name__)
try:
self.window.wm_iconbitmap("System/JordonOS Logo.ico")
except Exception as e:
desktopLog.error(str(e))
def createWindow(self):
desktopLog.debug("Running "+desktop.createWindow.__name__)
desktopLog.debug("Running " + desktop.createWindow.__name__)
try:
self.window = Tk()
self.window.title("Jordon's Desktop Environment")
@ -310,7 +315,10 @@ class desktop:
self.displayTime = Label(self.notifcationBar, text=self.cTime, bg=self.menuColour, font=("System", 20))
self.displayTime.pack(side=RIGHT)
self.window.bind("<F5>", self.refresh)
def manFefresh(event):
self.refresh()
self.window.bind("<F5>", manFefresh)
self.window.bind("<Escape>", self.fullScreen)
self.window.bind("<Configure>", self.reposition)
@ -328,7 +336,7 @@ class desktop:
desktopLog.error(str(e))
def __init__(self, windowTitle="Desktop Environment", width="1920", height="1080", minWidth="", username=""):
desktopLog.debug("Running "+desktop.__init__.__name__)
desktopLog.debug("Running " + desktop.__init__.__name__)
try:
self.width = width
self.height = height

View file

@ -6,4 +6,4 @@ colour = "#a0fd44"
startPic = "JDE/Images/start.png"
contextMenuColour = "#a0fd44"
resizeBackground = False # This can be VERY slow!
version = "1.4.0 ALPHA"
version = "1.5.0 ALPHA"

64
Programs/FileBrowser.py Normal file
View file

@ -0,0 +1,64 @@
from tkinter import *
import os
path = "E:/programming/"
class fileBrowser:
def update(self):
self.path = os.path.realpath(self.path)
self.folderListbox.delete(0, END)
self.fileListbox.delete(0, END)
self.addressBox.delete(0, END)
self.addressBox.insert(0, self.path)
self.folderListbox.insert(0, "Back")
for item in os.listdir(self.path):
if not self.path.startswith("."):
if os.path.isdir(os.path.join(self.path, item)):
self.folderListbox.insert(END, item)
else:
self.fileListbox.insert(END, item)
def createWidgets(self):
self.folderListbox = Listbox(self.root)
self.fileListbox = Listbox(self.root)
self.addressBox = Entry(self.root)
self.addressBox.insert(0, self.path)
self.folderListbox.insert(0, "Back")
def test(event):
if self.folderListbox.get(self.folderListbox.curselection()) == "Back":
self.path = os.path.abspath(os.path.join(self.path, os.pardir))
else:
self.path = os.path.join(self.path, self.folderListbox.get(self.folderListbox.curselection()))
self.update()
def refresh(event):
self.path = os.path.abspath(self.addressBox.get())
self.update()
def upd(event):
self.update()
self.update()
self.addressBox.bind("<Return>", refresh)
self.folderListbox.bind("<F5>", upd)
self.folderListbox.bind('<Double-1>', test)
self.addressBox.pack(side=TOP, expand=NO, fill=X)
self.folderListbox.pack(side=LEFT, expand=YES, fill=BOTH)
self.fileListbox.pack(side=LEFT, expand=YES, fill=BOTH)
def __init__(self, master, path):
self.path = os.path.abspath(os.path.dirname(os.path.realpath(path)))
self.root = Toplevel(master)
self.root.title("File Browser")
self.createWidgets()
self.root.mainloop()