# ========================================================================= # # FILE: Workspace.py # # USAGE: --- # # DESCRIPTION: This define all configuration used in Application. # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Fahim Khan, fahim.elex@gmail.com # ORGANIZATION: eSim team at FOSSEE, IIT Bombay. # CREATED: Wednesday 05 February 2015 # REVISION: --- # ========================================================================= from PyQt4 import QtCore, QtGui from configuration.Appconfig import Appconfig import time import os # This class creates Workspace GUI. class Workspace(QtGui.QWidget): """ This class creates UI for WorkSpace selection window. This window contains text area to select location of your choice or browse location for workspace area. By default workspace is set in ~/eSim-Workspace. This workspace area contains all the projects made by user. """ def __init__(self, parent=None): super(Workspace, self).__init__() self.obj_appconfig = Appconfig() # Initializing Workspace directory for project self.initWorkspace() def initWorkspace(self): # print "Calling workspace" self.mainwindow = QtGui.QVBoxLayout() self.split = QtGui.QSplitter() self.split.setOrientation(QtCore.Qt.Vertical) self.grid = QtGui.QGridLayout() self.note = QtGui.QTextEdit(self) self.workspace_label = QtGui.QLabel(self) self.workspace_loc = QtGui.QLineEdit(self) self.note.append(self.obj_appconfig.workspace_text) self.workspace_label.setText("Workspace:") self.workspace_loc.setText(self.obj_appconfig.home) # Buttons self.browsebtn = QtGui.QPushButton('Browse') self.browsebtn.clicked.connect(self.browseLocation) self.okbtn = QtGui.QPushButton('OK') self.okbtn.clicked.connect(self.createWorkspace) self.cancelbtn = QtGui.QPushButton('Cancel') self.cancelbtn.clicked.connect(self.defaultWorkspace) # Layout self.grid.addWidget(self.note, 0, 0, 1, 15) self.grid.addWidget(self.workspace_label, 2, 1) self.grid.addWidget(self.workspace_loc, 2, 2, 2, 12) self.grid.addWidget(self.browsebtn, 2, 14) self.grid.addWidget(self.okbtn, 4, 13) self.grid.addWidget(self.cancelbtn, 4, 14) self.setGeometry(QtCore.QRect(500, 250, 400, 400)) self.setMaximumSize(4000, 200) self.setWindowTitle("eSim") self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) self.note.setReadOnly(True) self.setWindowIcon(QtGui.QIcon('../../images/logo.png')) self.setLayout(self.grid) self.show() def defaultWorkspace(self): print("Default workspace selected : " + self.obj_appconfig.default_workspace["workspace"]) self.imp_var = 1 self.obj_appconfig.print_info( 'Default workspace selected : ' + self.obj_appconfig.default_workspace["workspace"]) self.close() var_appView.show() time.sleep(1) var_appView.splash.close() def close(self, *args, **kwargs): self.window_open_close = 1 self.close_var = 1 return QtGui.QWidget.close(self, *args, **kwargs) def returnWhetherClickedOrNot(self, appView): global var_appView var_appView = appView def createWorkspace(self): print("Function : Create workspace") self.create_workspace = str(self.workspace_loc.text()) self.obj_appconfig.print_info('Workspace : ' + self.create_workspace) # Checking if Workspace already exist or not if os.path.isdir(self.create_workspace): self.obj_appconfig.default_workspace["workspace"] \ = self.create_workspace else: os.mkdir(self.create_workspace) self.obj_appconfig.default_workspace["workspace"] \ = self.create_workspace self.imp_var = 1 self.close() var_appView.show() time.sleep(1) var_appView.splash.close() def browseLocation(self): print("Function : Browse Location") self.workspace_directory = QtGui.QFileDialog.getExistingDirectory( self, "Browse Location", os.path.expanduser("~")) self.workspace_loc.setText(self.workspace_directory)