q2rad 0.1.188__tar.gz → 0.1.190__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of q2rad might be problematic. Click here for more details.
- {q2rad-0.1.188 → q2rad-0.1.190}/PKG-INFO +1 -1
- {q2rad-0.1.188 → q2rad-0.1.190}/pyproject.toml +1 -1
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2appmanager.py +10 -6
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2lines.py +33 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2rad.py +39 -23
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2reports.py +166 -131
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2utils.py +6 -3
- q2rad-0.1.190/q2rad/version.py +1 -0
- q2rad-0.1.188/q2rad/version.py +0 -1
- {q2rad-0.1.188 → q2rad-0.1.190}/LICENSE +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/README.md +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/__init__.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/__main__.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2actions.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2appselector.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2constants.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2forms.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2make.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2market.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2modules.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2packages.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2queries.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2raddb.py +0 -0
- {q2rad-0.1.188 → q2rad-0.1.190}/q2rad/q2stylesettings.py +0 -0
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
from q2db.db import Q2Db
|
|
17
17
|
from q2gui.q2utils import num
|
|
18
18
|
from q2gui import q2app
|
|
19
|
-
from q2gui.q2dialogs import q2AskYN, q2Mess, Q2WaitShow, q2ask
|
|
19
|
+
from q2gui.q2dialogs import q2AskYN, q2Mess, Q2WaitShow, q2ask, q2working
|
|
20
20
|
|
|
21
21
|
from q2rad import Q2Form
|
|
22
22
|
from q2terminal.q2terminal import Q2Terminal
|
|
@@ -287,10 +287,14 @@ class AppManager(Q2Form):
|
|
|
287
287
|
if app_name == "demo_app":
|
|
288
288
|
self.export_data(f"{self.q2_app.q2market_path}/demo_data.json")
|
|
289
289
|
|
|
290
|
-
trm = Q2Terminal()
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
290
|
+
trm = Q2Terminal(callback=print)
|
|
291
|
+
|
|
292
|
+
def worker():
|
|
293
|
+
trm.run(f"cd {self.q2_app.q2market_path}")
|
|
294
|
+
trm.run("git add -A")
|
|
295
|
+
trm.run(f"""git commit -a -m"{version}" """)
|
|
296
|
+
|
|
297
|
+
q2working(worker, "Commiting")
|
|
294
298
|
q2Mess(trm.run("""git push"""))
|
|
295
299
|
trm.close()
|
|
296
300
|
|
|
@@ -357,7 +361,7 @@ class AppManager(Q2Form):
|
|
|
357
361
|
self.q2_app.open_selected_app()
|
|
358
362
|
|
|
359
363
|
@staticmethod
|
|
360
|
-
def import_json_app(data, db
|
|
364
|
+
def import_json_app(data, db=None):
|
|
361
365
|
if db is None:
|
|
362
366
|
db: Q2Db = q2app.q2_app.db_logic
|
|
363
367
|
db_tables = db.get_tables()
|
|
@@ -94,6 +94,10 @@ class Q2Lines(Q2Form, Q2_save_and_run):
|
|
|
94
94
|
self.add_action("-")
|
|
95
95
|
self.add_action("Select panel", icon="⭥", worker=self.select_panel, hotkey="F3")
|
|
96
96
|
self.add_action("Copy to", icon="🧩", worker=self.copy_to)
|
|
97
|
+
self.add_action("Move rows down", icon="⭸", worker=self.move_rows_down)
|
|
98
|
+
self.add_action("Layout|Form", icon="☆", worker=lambda: self.add_layout("/f"))
|
|
99
|
+
self.add_action("Layout|Horizontally", worker=lambda: self.add_layout("/h"))
|
|
100
|
+
self.add_action("Layout|Vertically", worker=lambda: self.add_layout("/v"))
|
|
97
101
|
|
|
98
102
|
def create_form(self):
|
|
99
103
|
self.add_control("id", "", datatype="int", pk="*", ai="*", noform=1, nogrid=1)
|
|
@@ -292,6 +296,35 @@ class Q2Lines(Q2Form, Q2_save_and_run):
|
|
|
292
296
|
print(last_error(q2app.q2_app.db_logic))
|
|
293
297
|
self.refresh()
|
|
294
298
|
|
|
299
|
+
def add_layout(self, layout_type):
|
|
300
|
+
selected_row = sorted(self.get_grid_selected_rows())
|
|
301
|
+
if len(selected_row) == 0:
|
|
302
|
+
return
|
|
303
|
+
first = min(selected_row)
|
|
304
|
+
first_seq = self.model.get_record(first)["seq"]
|
|
305
|
+
|
|
306
|
+
last = max(selected_row) + 1
|
|
307
|
+
|
|
308
|
+
if last < self.model.row_count():
|
|
309
|
+
last_seq = int_(self.model.get_record(last)["seq"]) + 1
|
|
310
|
+
self.move_rows_down(last, False)
|
|
311
|
+
else:
|
|
312
|
+
last_seq = int_(self.model.get_record(self.model.row_count() - 1)["seq"]) + 2
|
|
313
|
+
|
|
314
|
+
self.move_rows_down(first, False)
|
|
315
|
+
self.model.insert({"column": layout_type, "seq": first_seq})
|
|
316
|
+
self.model.insert({"column": "/", "seq": last_seq})
|
|
317
|
+
self.refresh()
|
|
318
|
+
|
|
319
|
+
def move_rows_down(self, current_row=None, refresh=True):
|
|
320
|
+
if current_row in (None, False):
|
|
321
|
+
current_row = self.current_row
|
|
322
|
+
for x in range(current_row, self.model.row_count()):
|
|
323
|
+
rec = self.model.get_record(x)
|
|
324
|
+
self.model.update({"id": rec["id"], "seq": 1 + int_(rec["seq"])})
|
|
325
|
+
if refresh:
|
|
326
|
+
self.refresh()
|
|
327
|
+
|
|
295
328
|
def select_panel(self):
|
|
296
329
|
first_row = last_row = self.current_row
|
|
297
330
|
|
|
@@ -74,6 +74,7 @@ import json
|
|
|
74
74
|
import subprocess
|
|
75
75
|
import shutil
|
|
76
76
|
import pkgutil
|
|
77
|
+
import pkg_resources
|
|
77
78
|
import logging
|
|
78
79
|
import traceback
|
|
79
80
|
|
|
@@ -700,7 +701,20 @@ class Q2RadApp(Q2App):
|
|
|
700
701
|
latest_version = None
|
|
701
702
|
installed_packages = [x.name for x in pkgutil.iter_modules()]
|
|
702
703
|
if package in installed_packages:
|
|
703
|
-
|
|
704
|
+
try:
|
|
705
|
+
current_version = pkg_resources.get_distribution(package).version
|
|
706
|
+
except Exception as error:
|
|
707
|
+
_logger.error(f"Error checking version of {package}: {error}")
|
|
708
|
+
current_version = None
|
|
709
|
+
if current_version is None:
|
|
710
|
+
try:
|
|
711
|
+
current_version = self.code_runner(
|
|
712
|
+
f"from {package} import __version__ as tmpv;return tmpv"
|
|
713
|
+
)()
|
|
714
|
+
except Exception as error:
|
|
715
|
+
_logger.error(f"Error checking version of {package}: {error}")
|
|
716
|
+
if current_version is None:
|
|
717
|
+
q2mess(f"Error checkin curent version of {package}!")
|
|
704
718
|
else:
|
|
705
719
|
current_version = None
|
|
706
720
|
|
|
@@ -717,15 +731,16 @@ class Q2RadApp(Q2App):
|
|
|
717
731
|
latest_version, current_version = self.get_package_versions(package)
|
|
718
732
|
if self.db_logic is not None and package not in q2_modules:
|
|
719
733
|
pkg_ver = get("packages", f"package_name='{package}'", "package_version", q2_db=self.db_logic)
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
734
|
+
if pkg_ver != "":
|
|
735
|
+
try:
|
|
736
|
+
latest_version = version.parse(pkg_ver)
|
|
737
|
+
except Exception as error:
|
|
738
|
+
q2mess(
|
|
739
|
+
f"Error parsing version for <b>{package}</b>:"
|
|
740
|
+
f"<br> {error}<br>"
|
|
741
|
+
f"<b>{package}</b> packages update interrupted"
|
|
742
|
+
)
|
|
743
|
+
continue
|
|
729
744
|
self.process_events()
|
|
730
745
|
if force or latest_version != current_version and latest_version:
|
|
731
746
|
try:
|
|
@@ -873,20 +888,21 @@ class Q2RadApp(Q2App):
|
|
|
873
888
|
if self.db_logic is not None and package not in q2_modules:
|
|
874
889
|
pkg_ver = get("packages", f"package_name='{package}'", "package_version", q2_db=self.db_logic)
|
|
875
890
|
pkg_ver = pkg_ver if pkg_ver else "99999"
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
891
|
+
if pkg_ver != "":
|
|
892
|
+
try:
|
|
893
|
+
if current_version is None:
|
|
894
|
+
pass
|
|
895
|
+
elif version.parse(current_version) < version.parse(pkg_ver):
|
|
896
|
+
pass
|
|
897
|
+
elif version.parse(latest_version) > version.parse(pkg_ver):
|
|
898
|
+
continue
|
|
899
|
+
except Exception as error:
|
|
900
|
+
q2mess(
|
|
901
|
+
f"Error зparsing version for <b>{package}</b>:"
|
|
902
|
+
f"<br> {error}<br>"
|
|
903
|
+
f"<b>{package}</b> packages update skipped"
|
|
904
|
+
)
|
|
882
905
|
continue
|
|
883
|
-
except Exception as error:
|
|
884
|
-
q2mess(
|
|
885
|
-
f"Error зparsing version for <b>{package}</b>:"
|
|
886
|
-
f"<br> {error}<br>"
|
|
887
|
-
f"<b>{package}</b> packages update skipped"
|
|
888
|
-
)
|
|
889
|
-
continue
|
|
890
906
|
if latest_version != current_version and latest_version:
|
|
891
907
|
list_2_upgrade_message.append(f"<b>{package}</b>: {current_version} > {latest_version}")
|
|
892
908
|
list_2_upgrade.append(package)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
from q2gui.q2dialogs import q2AskYN, q2mess
|
|
16
|
+
from q2gui.q2dialogs import q2AskYN, q2mess # noqa:F401
|
|
17
17
|
from q2gui.q2widget import Q2Widget
|
|
18
18
|
|
|
19
19
|
from q2gui.q2app import Q2Actions
|
|
@@ -359,7 +359,8 @@ class Q2ReportEdit(Q2Form):
|
|
|
359
359
|
return content
|
|
360
360
|
|
|
361
361
|
def after_form_show(self):
|
|
362
|
-
self.
|
|
362
|
+
# self.form_stack[-1].set_style_sheet("border-radius:0px;border: 0px")
|
|
363
|
+
pass
|
|
363
364
|
|
|
364
365
|
|
|
365
366
|
class Q2ReportReport(Q2Form):
|
|
@@ -414,8 +415,15 @@ class Q2ReportReport(Q2Form):
|
|
|
414
415
|
dblclick=self.style_button_pressed,
|
|
415
416
|
)
|
|
416
417
|
|
|
417
|
-
self.add_control("", tag="
|
|
418
|
-
|
|
418
|
+
self.add_control("", control="toolbar", tag="report_action", actions=actions)
|
|
419
|
+
self.add_control(
|
|
420
|
+
"efs",
|
|
421
|
+
"Editors font size",
|
|
422
|
+
datatype="int",
|
|
423
|
+
control="spin",
|
|
424
|
+
data=8,
|
|
425
|
+
valid=self.editor_font_size,
|
|
426
|
+
)
|
|
419
427
|
self.add_control("/")
|
|
420
428
|
if self.add_control("/vr", tag="pages"):
|
|
421
429
|
self.add_control("anchor", "*", control="label")
|
|
@@ -423,126 +431,127 @@ class Q2ReportReport(Q2Form):
|
|
|
423
431
|
self.add_control("/")
|
|
424
432
|
if self.add_control("/v", tag="style_panel"):
|
|
425
433
|
self.add_control("/vr")
|
|
426
|
-
self.add_control("/f", "Font")
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
self.add_control("/")
|
|
455
|
-
|
|
456
|
-
self.add_control(
|
|
457
|
-
"/h",
|
|
458
|
-
"Borders",
|
|
459
|
-
check=1,
|
|
460
|
-
tag="border_width",
|
|
461
|
-
valid=self.prop_border,
|
|
462
|
-
when=self.prop_border,
|
|
463
|
-
)
|
|
464
|
-
self.add_control(
|
|
465
|
-
"border_left",
|
|
466
|
-
"",
|
|
467
|
-
control="spin",
|
|
468
|
-
datalen=5,
|
|
469
|
-
valid=self.prop_border,
|
|
470
|
-
when=self.prop_border,
|
|
471
|
-
)
|
|
472
|
-
self.add_control("/v")
|
|
473
|
-
self.add_control(
|
|
474
|
-
"border_top",
|
|
475
|
-
"",
|
|
476
|
-
control="spin",
|
|
477
|
-
datalen=5,
|
|
478
|
-
valid=self.prop_border,
|
|
479
|
-
when=self.prop_border,
|
|
480
|
-
)
|
|
481
|
-
self.add_control(
|
|
482
|
-
"border_bottom",
|
|
483
|
-
"",
|
|
484
|
-
control="spin",
|
|
485
|
-
datalen=5,
|
|
486
|
-
valid=self.prop_border,
|
|
487
|
-
when=self.prop_border,
|
|
488
|
-
)
|
|
489
|
-
self.add_control("/")
|
|
490
|
-
self.add_control(
|
|
491
|
-
"border_right",
|
|
492
|
-
"",
|
|
493
|
-
control="spin",
|
|
494
|
-
datalen=5,
|
|
495
|
-
valid=self.prop_border,
|
|
496
|
-
when=self.prop_border,
|
|
497
|
-
)
|
|
434
|
+
if self.add_control("/f", "Font"):
|
|
435
|
+
self.add_control(
|
|
436
|
+
"font_family",
|
|
437
|
+
"Font family",
|
|
438
|
+
control="combo",
|
|
439
|
+
pic="Arial;Times;Courier",
|
|
440
|
+
check=1,
|
|
441
|
+
valid=self.prop_font_family,
|
|
442
|
+
when=self.prop_font_family,
|
|
443
|
+
)
|
|
444
|
+
self.add_control(
|
|
445
|
+
"font_size",
|
|
446
|
+
"Font size",
|
|
447
|
+
control="spin",
|
|
448
|
+
datalen=5,
|
|
449
|
+
datatype="int",
|
|
450
|
+
check=1,
|
|
451
|
+
valid=self.prop_font_size,
|
|
452
|
+
when=self.prop_font_size,
|
|
453
|
+
)
|
|
454
|
+
self.add_control(
|
|
455
|
+
"font_weight",
|
|
456
|
+
"Font weight",
|
|
457
|
+
control="check",
|
|
458
|
+
check=1,
|
|
459
|
+
valid=self.prop_font_weight,
|
|
460
|
+
when=self.prop_font_weight,
|
|
461
|
+
)
|
|
498
462
|
self.add_control("/")
|
|
463
|
+
if self.add_control("/v", "-"):
|
|
464
|
+
self.add_control(
|
|
465
|
+
"/h",
|
|
466
|
+
"Borders",
|
|
467
|
+
check=1,
|
|
468
|
+
tag="border_width",
|
|
469
|
+
valid=self.prop_border,
|
|
470
|
+
when=self.prop_border,
|
|
471
|
+
)
|
|
472
|
+
self.add_control(
|
|
473
|
+
"border_left",
|
|
474
|
+
"",
|
|
475
|
+
control="spin",
|
|
476
|
+
datalen=5,
|
|
477
|
+
valid=self.prop_border,
|
|
478
|
+
when=self.prop_border,
|
|
479
|
+
)
|
|
480
|
+
self.add_control("/v")
|
|
481
|
+
self.add_control(
|
|
482
|
+
"border_top",
|
|
483
|
+
"",
|
|
484
|
+
control="spin",
|
|
485
|
+
datalen=5,
|
|
486
|
+
valid=self.prop_border,
|
|
487
|
+
when=self.prop_border,
|
|
488
|
+
)
|
|
489
|
+
self.add_control(
|
|
490
|
+
"border_bottom",
|
|
491
|
+
"",
|
|
492
|
+
control="spin",
|
|
493
|
+
datalen=5,
|
|
494
|
+
valid=self.prop_border,
|
|
495
|
+
when=self.prop_border,
|
|
496
|
+
)
|
|
497
|
+
self.add_control("/")
|
|
498
|
+
self.add_control(
|
|
499
|
+
"border_right",
|
|
500
|
+
"",
|
|
501
|
+
control="spin",
|
|
502
|
+
datalen=5,
|
|
503
|
+
valid=self.prop_border,
|
|
504
|
+
when=self.prop_border,
|
|
505
|
+
)
|
|
506
|
+
self.add_control("/")
|
|
499
507
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
508
|
+
self.add_control(
|
|
509
|
+
"/h",
|
|
510
|
+
"Paddings",
|
|
511
|
+
check=1,
|
|
512
|
+
tag="padding",
|
|
513
|
+
valid=self.prop_padding,
|
|
514
|
+
when=self.prop_padding,
|
|
515
|
+
)
|
|
516
|
+
self.add_control(
|
|
517
|
+
"padding_left",
|
|
518
|
+
"",
|
|
519
|
+
control="doublespin",
|
|
520
|
+
datalen=5,
|
|
521
|
+
datadec=2,
|
|
522
|
+
valid=self.prop_padding,
|
|
523
|
+
when=self.prop_padding,
|
|
524
|
+
)
|
|
525
|
+
self.add_control("/v")
|
|
526
|
+
self.add_control(
|
|
527
|
+
"padding_top",
|
|
528
|
+
"",
|
|
529
|
+
control="doublespin",
|
|
530
|
+
datalen=5,
|
|
531
|
+
datadec=2,
|
|
532
|
+
valid=self.prop_padding,
|
|
533
|
+
when=self.prop_padding,
|
|
534
|
+
)
|
|
535
|
+
self.add_control(
|
|
536
|
+
"padding_bottom",
|
|
537
|
+
"",
|
|
538
|
+
control="doublespin",
|
|
539
|
+
datalen=5,
|
|
540
|
+
datadec=2,
|
|
541
|
+
valid=self.prop_padding,
|
|
542
|
+
when=self.prop_padding,
|
|
543
|
+
)
|
|
544
|
+
self.add_control("/")
|
|
545
|
+
self.add_control(
|
|
546
|
+
"padding_right",
|
|
547
|
+
"",
|
|
548
|
+
control="doublespin",
|
|
549
|
+
datalen=5,
|
|
550
|
+
datadec=2,
|
|
551
|
+
valid=self.prop_padding,
|
|
552
|
+
when=self.prop_padding,
|
|
553
|
+
)
|
|
554
|
+
self.add_control("/")
|
|
546
555
|
self.add_control("/")
|
|
547
556
|
if self.add_control("/v", "-"): # Alignments
|
|
548
557
|
self.add_control(
|
|
@@ -576,6 +585,13 @@ class Q2ReportReport(Q2Form):
|
|
|
576
585
|
|
|
577
586
|
self.set_content()
|
|
578
587
|
|
|
588
|
+
def editor_font_size(self):
|
|
589
|
+
if int_(self.s.efs) <= 7:
|
|
590
|
+
self.s.efs = "8"
|
|
591
|
+
if int_(self.s.efs) >= 18:
|
|
592
|
+
self.s.efs = "18"
|
|
593
|
+
self.set_pages_style()
|
|
594
|
+
|
|
579
595
|
def run_report(self, output_file="html"):
|
|
580
596
|
rep = Q2RadReport(self.report_edit_form.get_content())
|
|
581
597
|
rep.run(output_file)
|
|
@@ -664,7 +680,10 @@ class Q2ReportReport(Q2Form):
|
|
|
664
680
|
row_sheet.apply_style()
|
|
665
681
|
|
|
666
682
|
def get_pages(self):
|
|
667
|
-
|
|
683
|
+
if self.anchor:
|
|
684
|
+
return self.anchor.get_layout_widgets()[1:]
|
|
685
|
+
else:
|
|
686
|
+
return []
|
|
668
687
|
|
|
669
688
|
def style_button_pressed(self):
|
|
670
689
|
self.focus_changed(self.w.style_button)
|
|
@@ -775,7 +794,20 @@ class Q2ReportReport(Q2Form):
|
|
|
775
794
|
self.w.font_weight.set_title("Bold")
|
|
776
795
|
ReportForm.set_style_button(self, "Report")
|
|
777
796
|
self.w.style_button.set_focus()
|
|
778
|
-
self.w.style_button.
|
|
797
|
+
self.w.style_button.parentWidget().set_style_sheet("border-radius:0px;")
|
|
798
|
+
self.set_pages_style()
|
|
799
|
+
|
|
800
|
+
def set_pages_style(self):
|
|
801
|
+
self.w.pages.set_style_sheet(
|
|
802
|
+
f"border-radius:0px;border:0px;font-size:{self.s.efs}pt;font-family:Fixed; margin:0px;padding:0px"
|
|
803
|
+
)
|
|
804
|
+
self.report_report_form.ratio = int_(num(45) + (num(self.s.efs) - num(8)) * 2)
|
|
805
|
+
# print(self.report_report_form.ratio)
|
|
806
|
+
# if self.report_report_form.ratio != 1:
|
|
807
|
+
# self.report_report_form.ratio = int(self.report_report_form.ratio / num(1.7))
|
|
808
|
+
# print(self.report_report_form.ratio)
|
|
809
|
+
for x in self.get_pages():
|
|
810
|
+
x.q2_form._repaint()
|
|
779
811
|
|
|
780
812
|
def show_content(self):
|
|
781
813
|
if self.widget() is None:
|
|
@@ -1133,9 +1165,9 @@ class Q2ReportColumns(Q2Form, ReportForm):
|
|
|
1133
1165
|
form.cancel_button = 1
|
|
1134
1166
|
form.run()
|
|
1135
1167
|
if form.ok_pressed:
|
|
1136
|
-
self.columns_data.widths[
|
|
1137
|
-
|
|
1138
|
-
|
|
1168
|
+
self.columns_data.widths[self.columns_sheet.current_column()] = (
|
|
1169
|
+
f"{form.s.w}{'%' if form.s.p == '*' else ''}"
|
|
1170
|
+
)
|
|
1139
1171
|
self._repaint()
|
|
1140
1172
|
|
|
1141
1173
|
def style_button_pressed(self):
|
|
@@ -1233,7 +1265,10 @@ class Q2ReportColumns(Q2Form, ReportForm):
|
|
|
1233
1265
|
self.columns_sheet.hide_column_headers()
|
|
1234
1266
|
|
|
1235
1267
|
ReportForm.set_style_button(self, "Columns")
|
|
1236
|
-
|
|
1268
|
+
self.w.style_button.parentWidget().parentWidget().parentWidget().set_style_sheet(
|
|
1269
|
+
"border: 0px;margin:0px;padding:0px"
|
|
1270
|
+
)
|
|
1271
|
+
self.w.style_button.parentWidget().parentWidget().parentWidget().layout().setSpacing(0)
|
|
1237
1272
|
self.set_content()
|
|
1238
1273
|
self._repaint()
|
|
1239
1274
|
|
|
@@ -1655,7 +1690,7 @@ class Q2ReportRows(Q2Form, ReportForm):
|
|
|
1655
1690
|
datatype="char",
|
|
1656
1691
|
data=self.rows_data.role,
|
|
1657
1692
|
pic=roles_list,
|
|
1658
|
-
datalen=
|
|
1693
|
+
datalen=10,
|
|
1659
1694
|
valid=role_valid,
|
|
1660
1695
|
)
|
|
1661
1696
|
form.add_control(
|
|
@@ -2035,7 +2070,7 @@ class Q2ReportRows(Q2Form, ReportForm):
|
|
|
2035
2070
|
self.rows_sheet.add_style_sheet("border-style:solid; border-radius:0")
|
|
2036
2071
|
|
|
2037
2072
|
ReportForm.set_style_button(self)
|
|
2038
|
-
|
|
2073
|
+
self.w.style_button.parentWidget().parentWidget().layout().setSpacing(0)
|
|
2039
2074
|
self._repaint()
|
|
2040
2075
|
self.set_content()
|
|
2041
2076
|
|
|
@@ -2116,6 +2151,6 @@ class Q2ReportRows(Q2Form, ReportForm):
|
|
|
2116
2151
|
self.rows_data.heights, column=self.report_columns_form.get_column_count()
|
|
2117
2152
|
)
|
|
2118
2153
|
|
|
2119
|
-
self.w.style_button.set_row_size(self.rows_sheet.height())
|
|
2154
|
+
# self.w.style_button.set_row_size(self.rows_sheet.height())
|
|
2120
2155
|
|
|
2121
2156
|
self.set_rows_role_text()
|
|
@@ -212,7 +212,7 @@ class Q2Form(_Q2Form):
|
|
|
212
212
|
elif choice == 2: # Row
|
|
213
213
|
pk = self.model.get_meta_primary_key()
|
|
214
214
|
cu = q2cursor(
|
|
215
|
-
f"""select *
|
|
215
|
+
f"""select *
|
|
216
216
|
from log_{self.model.get_table_name()}
|
|
217
217
|
where {pk} = '{self.r.__getattr__(pk)}'
|
|
218
218
|
"""
|
|
@@ -221,7 +221,7 @@ class Q2Form(_Q2Form):
|
|
|
221
221
|
where = self.model.get_where()
|
|
222
222
|
where = f" where {where}" if where != "" else ""
|
|
223
223
|
cu = q2cursor(
|
|
224
|
-
f"""select *
|
|
224
|
+
f"""select *
|
|
225
225
|
from log_{self.model.get_table_name()}
|
|
226
226
|
{where}
|
|
227
227
|
"""
|
|
@@ -264,7 +264,10 @@ class Q2Form(_Q2Form):
|
|
|
264
264
|
form.add_control("ql", "", widget=form.query_edit, nogrid=1, migrate=0)
|
|
265
265
|
|
|
266
266
|
def after_form_show():
|
|
267
|
-
|
|
267
|
+
query = self.model.get_table_name()
|
|
268
|
+
if not query.strip().lower().startswith("select "):
|
|
269
|
+
query = f"select * from {query}"
|
|
270
|
+
form.query_edit.set_content({"queries": {"query": query}})
|
|
268
271
|
|
|
269
272
|
form.after_form_show = after_form_show
|
|
270
273
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.190"
|
q2rad-0.1.188/q2rad/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.188"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|