+++ /dev/null
-# DDStorm
-# -------
-# Copyright (c) 2015 Agnibho Mondal
-# All rights reserved
-
-# This file is part of DDStorm.
-
-# DDStorm is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# DDStorm is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with DDStorm. If not, see <http://www.gnu.org/licenses/>.
-
-import subprocess, os
-from PyQt4 import QtGui, QtCore
-from const import *
-
-def x_settings():
- subprocess.Popen(["xdg-open", CONF_FILE])
-
-def x_lib():
- if(os.path.isfile(CONF_FILE)):
- with open(CONF_FILE) as conf:
- for line in conf:
- if(line.startswith("library_path=")):
- library_path=line[13:-1]
- if(os.path.isdir(library_path)):
- subprocess.Popen(["xdg-open", library_path])
-
-def x_save(w, symp, diff):
- fname=QtGui.QFileDialog.getSaveFileName(w, "Save File", "~", "HTML files('*.html')")
- if(not fname.endswith(".html")):
- fname=fname+".html"
- with open(fname, "w") as f:
- print("<!DOCTYPE html><html><head><title>Differential Diagnosis</title></head>", file=f)
- print("<body><h1>Differential Diagnosis</h1>", file=f)
- print("<table style='width:100%'>", file=f)
- print("<tr><th>Symptoms</th><th>Diffrential Diagnosis</th></tr>", file=f)
- print("<tr><td style='vertical-align:text-top'><ol>", file=f)
- for s in symp:
- print("<li>"+s+"</li>", file=f)
- print("</ol></td><td style='vertical-align:text-top'><ol>", file=f)
- for d in diff:
- print("<li>"+d+"</li>", file=f)
- print("</ol></td></tr></table></body></html>", file=f)
-
-def x_help():
- if(os.path.isfile(HELP_FILE)):
- subprocess.Popen(["xdg-open", HELP_FILE])
- else:
- subprocess.Popen(["xdg-open", "http://www.agnibho.com"])
-
-def x_logfile():
- subprocess.Popen(["xdg-open", LOG_FILE])
-
-class SettingsDialog(QtGui.QDialog):
- def __init__(self, conf):
- super(SettingsDialog, self).__init__()
- self.setWindowTitle("Settings")
- self.conf=conf
- self.initUI()
- def initUI(self):
- self.lpLabel=QtGui.QLabel("Libary Path:")
- self.lpEdit=QtGui.QLineEdit(self.conf.get("library_path"))
- self.lpBrowse=QtGui.QPushButton("Browse")
- self.lpBrowse.clicked.connect(self.lpUpdate)
- self.mpLabel=QtGui.QLabel("Module Path:")
- self.mpEdit=QtGui.QLineEdit(self.conf.get("module_path"))
- self.mpBrowse=QtGui.QPushButton("Browse")
- self.mpBrowse.clicked.connect(self.mpUpdate)
- self.splash=QtGui.QCheckBox("Show Splash Screen")
- if(self.conf.get("splash_screen")=="yes"):
- self.splash.setChecked(True)
- self.clean=QtGui.QCheckBox("Clean Log on Exit")
- if(self.conf.get("clean_log")=="yes"):
- self.clean.setChecked(True)
- self.status=QtGui.QCheckBox("Show Status Message")
- if(self.conf.get("status_message")=="on"):
- self.status.setChecked(True)
- self.ok=QtGui.QPushButton("Ok")
- self.ok.clicked.connect(self.save)
- self.cancel=QtGui.QPushButton("Cancel")
- self.cancel.clicked.connect(self.close)
- self.default=QtGui.QPushButton("Default")
- self.default.clicked.connect(self.reset)
-
- ctrl=QtGui.QHBoxLayout()
- ctrl.addWidget(self.ok)
- ctrl.addWidget(self.cancel)
- ctrl.addWidget(self.default)
- layout=QtGui.QGridLayout(self)
- layout.addWidget(self.lpLabel, 0, 0)
- layout.addWidget(self.lpEdit, 0, 1)
- layout.addWidget(self.lpBrowse, 0, 2)
- layout.addWidget(self.mpLabel, 1, 0)
- layout.addWidget(self.mpEdit, 1, 1)
- layout.addWidget(self.mpBrowse, 1, 2)
- layout.addWidget(self.splash, 2, 0)
- layout.addWidget(self.clean, 3, 0)
- layout.addWidget(self.status, 4, 0)
- layout.addLayout(ctrl, 5, 1)
-
- self.cancel.setFocus()
-
- def lpUpdate(self):
- self.lpEdit.setText(self.getFolder())
- def cpUpdate(self):
- self.cpEdit.setText(self.getFolder())
- def mpUpdate(self):
- self.mpEdit.setText(self.getFolder())
-
- def getFolder(self):
- dn=QtGui.QFileDialog.getExistingDirectory()
- if(dn.startswith(QtCore.QDir.currentPath())):
- dn="."+dn[len(QtCore.QDir.currentPath()):]+"/"
- else:
- dn=dn+"/"
- return dn
-
- def save(self):
- self.conf.set("library_path", self.lpEdit.text())
- self.conf.set("class_path", self.cpEdit.text())
- self.conf.set("module_path", self.mpEdit.text())
- if(self.splash.isChecked()):
- self.conf.set("splash_screen", "yes")
- else:
- self.conf.set("splash_screen", "no")
- if(self.clean.isChecked()):
- self.conf.set("clean_log", "yes")
- else:
- self.conf.set("clean_log", "no")
- if(self.status.isChecked()):
- self.conf.set("status_message", "on")
- else:
- self.conf.set("status_message", "off")
- QtGui.QMessageBox.information(self, "Restart required", "Some settings takes effect only after restarting DDStorm")
- self.close()
- self.conf.write()
-
- def reset(self):
- self.conf.default()
- self.lpEdit.setText(self.conf.get("library_path"))
- self.cpEdit.setText(self.conf.get("class_path"))
- self.mpEdit.setText(self.conf.get("module_path"))
- if(self.conf.get("splash_screen")=="yes"):
- self.splash.setChecked(True)
- else:
- self.splash.setChecked(False)
- if(self.conf.get("clean_log")=="yes"):
- self.clean.setChecked(True)
- else:
- self.clean.setChecked(False)
- if(self.conf.get("status_message")=="on"):
- self.status.setChecked(True)
- else:
- self.status.setChecked(False)