Added missing view files to native gui
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: WTFPL
|
||||
|
||||
import os
|
||||
import gi
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk
|
||||
|
||||
from yms import gtkutils, combobox, treeview
|
||||
|
||||
class StatusView:
|
||||
|
||||
def __init__(self, context):
|
||||
self.context = context
|
||||
self.title = _("Status")
|
||||
builder = Gtk.Builder()
|
||||
builder.set_translation_domain(context.textdomain)
|
||||
builder.add_from_file(os.path.join(context.ui_path, "status.ui"))
|
||||
builder.connect_signals(self)
|
||||
self.topwidget = builder.get_object("topobject")
|
||||
gtkutils.init_named_controls(self, builder)
|
||||
|
||||
# Load table status info
|
||||
self.lst_tables = Gtk.ListStore(str, int)
|
||||
for row in self.get_table_counts():
|
||||
self.lst_tables.append(row)
|
||||
treeview.add_column(self.tree['tables'], 'Table', 0)
|
||||
treeview.add_column(self.tree['tables'], '# Records', 1)
|
||||
self.tree['tables'].set_model(self.lst_tables)
|
||||
|
||||
def get_table_counts(self):
|
||||
# Detect all tables in database
|
||||
sql= ("SELECT table_name "
|
||||
"FROM information_schema.tables "
|
||||
"WHERE table_schema='yms' AND table_type='BASE TABLE' "
|
||||
"ORDER BY table_name")
|
||||
self.context.db.cur.execute(sql)
|
||||
tables = [row[0] for row in self.context.db.cur.fetchall()]
|
||||
# Loop over tables and get current record count
|
||||
records = []
|
||||
for table in tables:
|
||||
sql = f"SELECT COUNT(*) FROM {table}"
|
||||
self.context.db.cur.execute(sql)
|
||||
records.append((table, self.context.db.cur.fetchone()[0]))
|
||||
return records
|
||||
Reference in New Issue
Block a user