Added Database name field to db conection window

This commit is contained in:
Timothy Warren 2012-03-02 19:05:46 -05:00
parent e195577771
commit 6483578772
2 changed files with 55 additions and 25 deletions

View File

@ -25,7 +25,7 @@ class Query_Builder {
* *
* @param mixed $conn_name - the name of the connection/parameters * @param mixed $conn_name - the name of the connection/parameters
*/ */
function __construct($conn_name) public function __construct($conn_name)
{ {
// Add some flexibility for testing // Add some flexibility for testing
@ -71,6 +71,12 @@ class Query_Builder {
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/**
* Shortcut to directly access database class properties
*
* @param string $key
* @return mixed
*/
public function __get($key) public function __get($key)
{ {
if (isset($this->db->$key)) if (isset($this->db->$key))

View File

@ -20,7 +20,7 @@ class DB_Info_Widget extends GtkTable {
protected $conn, $dbtype, $host, $user, $pass, $database, $settings, $db_file, $port; protected $conn, $dbtype, $host, $user, $pass, $database, $settings, $db_file, $port;
public function __construct($conn='', $dbtype='', $host='localhost', public function __construct($conn='', $dbtype='', $host='localhost',
$user='', $pass='', $database='', $db_file=NULL, $port='') $user='', $pass='', $database='', $db_file=NULL, $port='', $conn_db='')
{ {
parent::__construct(); parent::__construct();
@ -32,6 +32,7 @@ class DB_Info_Widget extends GtkTable {
$this->user = new GtkEntry(); $this->user = new GtkEntry();
$this->pass = new GtkEntry(); $this->pass = new GtkEntry();
$this->port = new GtkEntry(); $this->port = new GtkEntry();
$this->conn_db = new GtkEntry();
$this->dbtype = GtkComboBox::new_text(); $this->dbtype = GtkComboBox::new_text();
$this->db_file = new GtkFileChooserButton("Select a database file", $this->db_file = new GtkFileChooserButton("Select a database file",
Gtk::FILE_CHOOSER_ACTION_OPEN); Gtk::FILE_CHOOSER_ACTION_OPEN);
@ -48,6 +49,7 @@ class DB_Info_Widget extends GtkTable {
$this->host->set_text($host); $this->host->set_text($host);
$this->user->set_text($user); $this->user->set_text($user);
$this->pass->set_text($pass); $this->pass->set_text($pass);
$this->conn_db->set_text($conn_db);
$this->db_file->set_filename($db_file); $this->db_file->set_filename($db_file);
// Layout the table // Layout the table
@ -89,6 +91,11 @@ class DB_Info_Widget extends GtkTable {
$this->_add_row("Database File", 'db_file', $y1, $y2); $this->_add_row("Database File", 'db_file', $y1, $y2);
} }
// First Db
{
$this->_add_row("Database Name", 'conn_db', $y1, $y2);
}
// Host // Host
{ {
$this->_add_row("Host", 'host', $y1, $y2); $this->_add_row("Host", 'host', $y1, $y2);
@ -128,29 +135,6 @@ class DB_Info_Widget extends GtkTable {
} }
} }
/**
* Simple helper function for adding a row to the GtkTable
*
* @param GtkTable &$table
* @param string $label
* @param string $vname
* @param int &$y1
* @param int &$y2
*/
private function _add_row($label, $vname, &$y1, &$y2)
{
$lbl = 'lbl'.$vname;
$this->$lbl = new GtkLabel($label);
$lblalign = new GtkAlignment(0, 0.5, 0, 0);
$lblalign->add($this->$lbl);
$vname =& $this->$vname;
$this->attach($lblalign, 0, 1, ++$y1, ++$y2);
$this->attach($vname, 1, 2, $y1, $y2);
}
/** /**
* Set defaults for new database type * Set defaults for new database type
* *
@ -172,6 +156,9 @@ class DB_Info_Widget extends GtkTable {
$this->user->set_text(''); $this->user->set_text('');
$this->pass->set_text(''); $this->pass->set_text('');
$this->port->set_text(''); $this->port->set_text('');
$this->conn_db->set_text('');
$this->conn_db->show();
$this->lblconn_db->show();
switch($new_db) switch($new_db)
{ {
@ -193,6 +180,8 @@ class DB_Info_Widget extends GtkTable {
$this->pass->set_text('masterkey'); $this->pass->set_text('masterkey');
$this->lbldb_file->show(); $this->lbldb_file->show();
$this->db_file->show(); $this->db_file->show();
$this->conn_db->hide();
$this->lblconn_db->hide();
break; break;
case "ODBC": case "ODBC":
@ -207,6 +196,8 @@ class DB_Info_Widget extends GtkTable {
$this->lblport->hide(); $this->lblport->hide();
$this->host->hide(); $this->host->hide();
$this->lblhost->hide(); $this->lblhost->hide();
$this->conn_db->hide();
$this->lblconn_db->hide();
break; break;
} }
} }
@ -369,4 +360,37 @@ class DB_Info_Widget extends GtkTable {
return $drivers; return $drivers;
} }
/**
* Simple helper function for adding a row to the GtkTable
*
* @param GtkTable &$table
* @param string $label
* @param string $vname
* @param int &$y1
* @param int &$y2
*/
private function _add_row($label, $vname, &$y1, &$y2)
{
$lbl = 'lbl'.$vname;
$this->$lbl = new GtkLabel($label);
$lblalign = new GtkAlignment(0, 0.5, 0, 0);
$lblalign->add($this->$lbl);
$vname =& $this->$vname;
$this->attach($lblalign, 0, 1, ++$y1, ++$y2);
$this->attach($vname, 1, 2, $y1, $y2);
}
/**
* Filter input based on the requirements of the specified database
*
* @return bool
*/
private function _validate()
{
}
} }