123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- # THIS FILE IS A PART OF VCStudio
- # PYTHON 3
- # This a console project manager.
- import os
- # GTK module ( Graphical interface
- import gi
- gi.require_version('Gtk', '3.0')
- from gi.repository import Gtk
- from gi.repository import GLib
- from gi.repository import Gdk
- import cairo
- # Own modules
- from settings import settings
- from settings import talk
- from project_manager import pm_project
- #UI modules
- from UI import UI_elements
- from UI import UI_color
- def layer(win):
-
- # Making the layer
- surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, win.current['w'],
- win.current['h'])
- layer = cairo.Context(surface)
-
-
- #text setting
- layer.select_font_face("Monospace", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)
-
- UI_color.set(layer, win, "dark_overdrop")
- layer.rectangle(
- 0,
- 0,
- win.current["w"],
- win.current["h"],
- )
- layer.fill()
-
- # So it's going to be like a little window in the center of the VCStudio
- # with a simple UI. Probably like 2 things. Folder and a projectname.
-
- UI_color.set(layer, win, "node_background")
- UI_elements.roundrect(layer, win,
- win.current["w"]/2-250,
- win.current["h"]/2-150,
- 500,
- 300,
- 10)
-
- # Title of the operation. Incase the user forgot.
- UI_elements.text(layer, win, "new_project_title",
- win.current["w"]/2-250,
- win.current["h"]/2-110,
- 500,
- 30,
- 10,
- fill=False,
- centered=True,
- editable=False)
- win.text["new_project_title"]["text"] = talk.text("createnewproject_tooltip")
-
-
-
- # Folder. It's so VCStudio would know WHERE does user want to create the
- # final project.
-
- def do():
-
- folderchooser = Gtk.FileChooserDialog(talk.text("select_folder"),
- None,
- Gtk.FileChooserAction.SELECT_FOLDER,
- (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
- Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
- folderchooser.set_default_response(Gtk.ResponseType.OK)
- response = folderchooser.run()
- if response == Gtk.ResponseType.OK:
- get = folderchooser.get_filename()
- settings.write("New-Project-Folder", get)
- win.settings["New-Project-Folder"] = get
- folderchooser.destroy()
-
- UI_elements.roundrect(layer, win,
- win.current["w"]/2-240,
- win.current["h"]/2-30,
- 480,
- 40,
- 10,
- button=do,
- icon="folder",
- tip=talk.text("pm_new_project_folder_tooltip"))
-
- choseF = "Select Folder"
- if "New-Project-Folder" in win.settings:
- choseF = win.settings["New-Project-Folder"]
- UI_elements.text(layer, win, "new_project_folder",
- win.current["w"]/2-190,
- win.current["h"]/2-30,
- 430,
- 40,
- set_text=choseF,
- fill=False,
- editable=False
- )
-
-
- # Name of the project folder. Aka Name of the project
- UI_elements.text(layer, win, "new_project_name",
- win.current["w"]/2-240,
- win.current["h"]/2+20,
- 480,
- 40,
- set_text=talk.text("new_project_name"))
-
- #win.textactive = "new_project_name"
- # Okay and Cancel buttons
-
- def do():
-
- pm_project.new(win.text["new_project_name"]["text"])
- win.url = "project_manager"
- win.textactive = ""
- win.text["new_project_name"]["text"] = talk.text("new_project_name")
-
- UI_elements.roundrect(layer, win,
- win.current["w"]/2+170,
- win.current["h"]/2+110,
- 40,
- 40,
- 10,
- button=do,
- icon="ok",
- tip=talk.text("checked"))
-
- def do():
- win.url = "project_manager"
- win.textactive = ""
- win.text["new_project_name"]["text"] = talk.text("new_project_name")
-
-
- UI_elements.roundrect(layer, win,
- win.current["w"]/2+210,
- win.current["h"]/2+110,
- 40,
- 40,
- 10,
- button=do,
- icon="cancel",
- tip=talk.text("cancel"))
-
-
-
- return surface
|