From b601db9cdb7b8e94f6d66d19194a59b3f360c5f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Mon, 17 May 2021 17:26:59 +0200 Subject: [PATCH] WIP --- .gitignore | 1 + Cargo.lock | 702 +++++++++++++++++++++++++++++++++++++++ Cargo.toml | 18 + res/ui/main-window.ui | 105 ++++++ res/ui/main-window.ui~ | 105 ++++++ src/builder_basics.glade | 59 ++++ src/builder_basics.ui | 60 ++++ src/main.rs | 111 +++++++ src/main_window.ui | 636 +++++++++++++++++++++++++++++++++++ temp/main_window.ui | 636 +++++++++++++++++++++++++++++++++++ 10 files changed, 2433 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 res/ui/main-window.ui create mode 100644 res/ui/main-window.ui~ create mode 100644 src/builder_basics.glade create mode 100644 src/builder_basics.ui create mode 100644 src/main.rs create mode 100644 src/main_window.ui create mode 100644 temp/main_window.ui diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..e2065df --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,702 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "anyhow" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b" + +[[package]] +name = "atk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812b4911e210bd51b24596244523c856ca749e6223c50a7fbbba3f89ee37c426" +dependencies = [ + "atk-sys", + "bitflags", + "glib", + "glib-sys", + "gobject-sys", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f530e4af131d94cc4fa15c5c9d0348f0ef28bac64ba660b6b2a1cf2605dedfce" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "bitwarden-mob" +version = "0.1.0" +dependencies = [ + "gio", + "gtk", + "libhandy", +] + +[[package]] +name = "cairo-rs" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5c0f2e047e8ca53d0ff249c54ae047931d7a6ebe05d00af73e0ffeb6e34bdb8" +dependencies = [ + "bitflags", + "cairo-sys-rs", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ed2639b9ad5f1d6efa76de95558e11339e7318426d84ac4890b86c03e828ca7" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "cc" +version = "1.0.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "futures" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94" + +[[package]] +name = "futures-executor" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59" + +[[package]] +name = "futures-macro" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7" +dependencies = [ + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3" + +[[package]] +name = "futures-task" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80" + +[[package]] +name = "futures-util" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "gdk" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db00839b2a68a7a10af3fa28dfb3febaba3a20c3a9ac2425a33b7df1f84a6b7d" +dependencies = [ + "bitflags", + "cairo-rs", + "cairo-sys-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6dae3cb99dd49b758b88f0132f8d401108e63ae8edd45f432d42cdff99998a" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "libc", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bfe468a7f43e97b8d193a762b6c5cf67a7d36cacbc0b9291dbcae24bfea1e8f" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a9653cfc500fd268015b1ac055ddbc3df7a5c9ea3f4ccef147b3957bd140d69" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gio" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fb60242bfff700772dae5d9e3a1f7aa2e4ebccf18b89662a16acb2822568561" +dependencies = [ + "bitflags", + "futures", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e24fb752f8f5d2cf6bbc2c606fd2bc989c81c5e2fe321ab974d54f8b6344eac" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c685013b7515e668f1b57a165b009d4d28cb139a8a989bbd699c10dad29d0c5" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", +] + +[[package]] +name = "glib-macros" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41486a26d1366a8032b160b59065a59fb528530a46a49f627e7048fb8c064039" +dependencies = [ + "anyhow", + "heck", + "itertools", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "glib-sys" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "gobject-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f022f2054072b3af07666341984562c8e626a79daa8be27b955d12d06a5ad6a" +dependencies = [ + "atk", + "bitflags", + "cairo-rs", + "cairo-sys-rs", + "cc", + "gdk", + "gdk-pixbuf", + "gdk-pixbuf-sys", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk-sys", + "libc", + "once_cell", + "pango", + "pango-sys", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89acda6f084863307d948ba64a4b1ef674e8527dddab147ee4cdcc194c880457" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "heck" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d855069fafbb9b344c0f962150cd2c1187975cb1c22c1522c240d8c4986714" + +[[package]] +name = "libhandy" +version = "0.7.1" +source = "git+https://gitlab.gnome.org/World/Rust/libhandy-rs#a869c46211c266b5c884ecfe882c1b304d978926" +dependencies = [ + "bitflags", + "gdk", + "gdk-pixbuf", + "gdk-pixbuf-sys", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "lazy_static", + "libc", + "libhandy-sys", + "pango", +] + +[[package]] +name = "libhandy-sys" +version = "0.7.0" +source = "git+https://gitlab.gnome.org/World/Rust/libhandy-rs#a869c46211c266b5c884ecfe882c1b304d978926" +dependencies = [ + "gdk", + "gdk-pixbuf-sys", + "gdk-sys", + "gio", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "memchr" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" + +[[package]] +name = "once_cell" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" + +[[package]] +name = "pango" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9937068580bebd8ced19975938573803273ccbcbd598c58d4906efd4ac87c438" +dependencies = [ + "bitflags", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d2650c8b62d116c020abd0cea26a4ed96526afda89b1c4ea567131fdefc890" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "serde" +version = "1.0.125" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" + +[[package]] +name = "slab" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" + +[[package]] +name = "strum" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" + +[[package]] +name = "strum_macros" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ce15dd3ed8aa2f8eeac4716d6ef5ab58b6b9256db41d7e1a0224c2788e8fd87" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "system-deps" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b" +dependencies = [ + "heck", + "pkg-config", + "strum", + "strum_macros", + "thiserror", + "toml", + "version-compare", +] + +[[package]] +name = "thiserror" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "unicode-segmentation" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" + +[[package]] +name = "unicode-xid" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" + +[[package]] +name = "version-compare" +version = "0.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1" + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..1c8c7ff --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "bitwarden-mob" +version = "0.1.0" +authors = ["mobian"] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +libhandy = { git = "https://gitlab.gnome.org/World/Rust/libhandy-rs" } + +[dependencies.gtk] +version = "0.9.0" +features = ["v3_16"] + +[dependencies.gio] +version = "" +features = ["v2_44"] diff --git a/res/ui/main-window.ui b/res/ui/main-window.ui new file mode 100644 index 0000000..79b50c1 --- /dev/null +++ b/res/ui/main-window.ui @@ -0,0 +1,105 @@ + + + + + + + False + + + True + False + + + + + + True + False + + + True + False + + + True + False + + + True + False + vertical + + + + + + True + False + + + True + False + Hello World! + + + + + False + True + 1 + + + + + + + + + + True + False + vertical + + + False + + + + + True + False + vertical + + + + + + + + + + + + + + + + page0 + page0 + + + + + False + True + 1 + + + + + + + + + diff --git a/res/ui/main-window.ui~ b/res/ui/main-window.ui~ new file mode 100644 index 0000000..79b50c1 --- /dev/null +++ b/res/ui/main-window.ui~ @@ -0,0 +1,105 @@ + + + + + + + False + + + True + False + + + + + + True + False + + + True + False + + + True + False + + + True + False + vertical + + + + + + True + False + + + True + False + Hello World! + + + + + False + True + 1 + + + + + + + + + + True + False + vertical + + + False + + + + + True + False + vertical + + + + + + + + + + + + + + + + page0 + page0 + + + + + False + True + 1 + + + + + + + + + diff --git a/src/builder_basics.glade b/src/builder_basics.glade new file mode 100644 index 0000000..fa40e95 --- /dev/null +++ b/src/builder_basics.glade @@ -0,0 +1,59 @@ + + + + + Builder Basics + 320 + 240 + + + Big Useless Button + + + + + False + dialog + + + msgdialog + 300 + False + Thank you for trying this example + immediate + vertical + 2 + + + False + end + + + + + + False + True + end + 0 + + + + + True + False + You have pressed the button + end + 40 + 1 + + + False + True + 2 + + + + + + diff --git a/src/builder_basics.ui b/src/builder_basics.ui new file mode 100644 index 0000000..1e64bb9 --- /dev/null +++ b/src/builder_basics.ui @@ -0,0 +1,60 @@ + + + + + Builder Basics + 320 + 240 + + + Big Useless Button + + + + + False + dialog + window1 + + + msgdialog + 300 + False + Thank you for trying this example + immediate + vertical + 2 + + + False + end + + + + + + False + True + end + 0 + + + + + True + False + You have pressed the button + end + 40 + 1 + + + False + True + 2 + + + + + + diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..c831fa0 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,111 @@ +extern crate gio; +extern crate gtk; + +use gio::prelude::*; +use gtk::prelude::*; + +use gtk::{Application}; + +fn main() { + let application = + Application::new(Some("com.github.gtk-rs.examples.basic"), Default::default()) + .expect("failed to initialize GTK application"); + + application.connect_activate(|app| { + /* let window = ApplicationWindow::new(app); + window.set_title("First GTK+ Program"); + window.set_default_size(350, 70); + + let button = Button::with_label("Click me!"); + button.connect_clicked(|_| { + println!("Clicked!"); + }); + window.add(&button); + + window.show_all(); */ + + let glade_src = include_str!("../res/ui/main-window.ui"); + // Then we call the Builder call. + let builder = gtk::Builder::from_string(glade_src); + + let objects = builder.get_objects(); + println!("{}", objects.len()); + + /* for (o, g) in objects { + println!("{}", o as fmt::Display); + } + */ + // Our window id is "window1". + let window: libhandy::ApplicationWindow = builder.get_object("main_window").unwrap(); + window.maximize(); + window.show_all(); + + // We start the gtk main loop. + gtk::main(); + }); + + application.run(&[]); + + /* if gtk::init().is_err() { + println!("Failed to initialize GTK."); + return; + } + let glade_src = include_str!("builder_basics.glade"); + let builder = gtk::Builder::from_string(glade_src); + + let objects = builder.get_objects().len(); + println!("{}", objects); + + let window: gtk::Window = builder.get_object("window1").unwrap(); + let button: gtk::Button = builder.get_object("button1").unwrap(); + let dialog: gtk::MessageDialog = builder.get_object("messagedialog1").unwrap(); + + button.connect_clicked(move |_| { + dialog.run(); + dialog.hide(); + }); + + window.show_all(); + + gtk::main(); */ +} + +/* +//use gtk::glib; +use gtk::prelude::*; +use gtk::{ApplicationWindow, Builder, Button, MessageDialog}; + +fn build_ui(application: >k::Application) { + let glade_src = include_str!("builder_basics.ui"); + let builder = Builder::from_string(glade_src); + + //builder. + let objects = builder.get_objects(); + + let window: ApplicationWindow = builder.get_object("window1").expect("Couldn't get window1"); + window.set_application(Some(application)); + let bigbutton: Button = builder.get_object("button1").expect("Couldn't get button1"); + let dialog: MessageDialog = builder + .get_object("messagedialog1") + .expect("Couldn't get messagedialog1"); + + dialog.connect_delete_event(|dialog, _| { + dialog.hide(); + gtk::Inhibit(true) + }); + + //bigbutton.connect_clicked(glib::clone!(@weak dialog => move |_| dialog.show_all())); + window.show_all(); +} + +fn main() { + let application = gtk::Application::new( + Some("com.github.gtk-rs.examples.builder_basics"), + Default::default(), + ) + .expect("Initialization failed..."); + + application.connect_activate(build_ui); + + application.run(); +} */ diff --git a/src/main_window.ui b/src/main_window.ui new file mode 100644 index 0000000..5609cbb --- /dev/null +++ b/src/main_window.ui @@ -0,0 +1,636 @@ + + + + + + False + 860 + 640 + False + + + True + + + False + False + + + True + True + True + False + + + True + room_list + True + + + True + vertical + + + True + False + fill + True + + + True + True + True + user_popover + + + True + False + open-menu-symbolic + + + + + + + + User + + + + + end + + + + + True + True + True + add_room_menu_model + + + True + False + list-add-symbolic + + + + + + + + Add + + + + + end + + + + + True + True + True + + + True + False + system-search-symbolic + + + + + + + + + + Room search + + + + + + + + + 200 + True + False + fill + False + True + vertical + + + 200 + True + False + + + True + True + edit-find-symbolic + False + False + + + + + + + 200 + True + True + True + never + + + True + False + vertical + + + + + + + + + + sidebar + + + + + True + False + vertical + + + + False + + + + + True + vertical + + + True + False + true + 360 + + + + + crossfade + True + + + app.back + True + True + True + + + True + False + go-previous-symbolic + + + + + + + + Back + + + + + + + + + True + False + True + center + never + never + True + False + + + True + False + vertical + + + False + + Room name + end + + + + + + False + + Room topic + end + + + + + + + + + + True + True + True + room_menu + + + True + False + view-more-symbolic + + + + + + + Room Menu + + + + + end + + + + + + + True + False + + + True + False + + + False + + + True + False + vertical + + + True + False + vertical + + + + + True + + + + + + + + room_view + room_view + + + + + True + False + True + + + loading + loading + + + + + True + False + True + True + chat-icon + No Room Selected + Join a room to start chatting. + + + noroom + No room + + + + + -1 + + + + + True + False + start + center + + + True + False + center + + + True + False + 0 + none + + + True + False + 10 + + + True + True + False + + + + + True + False + + + + + + + + + + True + -1 + + + + + + + + + content + + + + + chat + + + + + False + False + + + True + False + vertical + + + False + True + 360 + HDY_CENTERING_POLICY_STRICT + + + True + True + True + app.deck-back + + + True + False + go-previous-symbolic + + + + + Back + + + + + + + False + True + 288 + 288 + + + True + True + True + edit-find-symbolic + False + False + + + + + + + True + True + True + server_chooser_popover + + + + + True + False + 6 + + + True + False + Default Matrix Server + + + + + True + False + pan-down-symbolic + + + + + + + True + False + 6 + + + True + False + network-server-symbolic + + + + + True + False + pan-down-symbolic + + + + + + + + + end + + + + + + + True + False + vertical + + + True + True + never + True + fill + fill + + + False + + + True + False + + + True + False + True + True + True + + + + + + + + + + + + + directory + + + + + subview + + + + + main_view + + + + + True + False + vertical + + + False + True + Fractal + + + + + True + False + vertical + + + True + False + True + True + fill + fill + + + + + + + loading + + + + + + + + + + + + + + + diff --git a/temp/main_window.ui b/temp/main_window.ui new file mode 100644 index 0000000..5609cbb --- /dev/null +++ b/temp/main_window.ui @@ -0,0 +1,636 @@ + + + + + + False + 860 + 640 + False + + + True + + + False + False + + + True + True + True + False + + + True + room_list + True + + + True + vertical + + + True + False + fill + True + + + True + True + True + user_popover + + + True + False + open-menu-symbolic + + + + + + + + User + + + + + end + + + + + True + True + True + add_room_menu_model + + + True + False + list-add-symbolic + + + + + + + + Add + + + + + end + + + + + True + True + True + + + True + False + system-search-symbolic + + + + + + + + + + Room search + + + + + + + + + 200 + True + False + fill + False + True + vertical + + + 200 + True + False + + + True + True + edit-find-symbolic + False + False + + + + + + + 200 + True + True + True + never + + + True + False + vertical + + + + + + + + + + sidebar + + + + + True + False + vertical + + + + False + + + + + True + vertical + + + True + False + true + 360 + + + + + crossfade + True + + + app.back + True + True + True + + + True + False + go-previous-symbolic + + + + + + + + Back + + + + + + + + + True + False + True + center + never + never + True + False + + + True + False + vertical + + + False + + Room name + end + + + + + + False + + Room topic + end + + + + + + + + + + True + True + True + room_menu + + + True + False + view-more-symbolic + + + + + + + Room Menu + + + + + end + + + + + + + True + False + + + True + False + + + False + + + True + False + vertical + + + True + False + vertical + + + + + True + + + + + + + + room_view + room_view + + + + + True + False + True + + + loading + loading + + + + + True + False + True + True + chat-icon + No Room Selected + Join a room to start chatting. + + + noroom + No room + + + + + -1 + + + + + True + False + start + center + + + True + False + center + + + True + False + 0 + none + + + True + False + 10 + + + True + True + False + + + + + True + False + + + + + + + + + + True + -1 + + + + + + + + + content + + + + + chat + + + + + False + False + + + True + False + vertical + + + False + True + 360 + HDY_CENTERING_POLICY_STRICT + + + True + True + True + app.deck-back + + + True + False + go-previous-symbolic + + + + + Back + + + + + + + False + True + 288 + 288 + + + True + True + True + edit-find-symbolic + False + False + + + + + + + True + True + True + server_chooser_popover + + + + + True + False + 6 + + + True + False + Default Matrix Server + + + + + True + False + pan-down-symbolic + + + + + + + True + False + 6 + + + True + False + network-server-symbolic + + + + + True + False + pan-down-symbolic + + + + + + + + + end + + + + + + + True + False + vertical + + + True + True + never + True + fill + fill + + + False + + + True + False + + + True + False + True + True + True + + + + + + + + + + + + + directory + + + + + subview + + + + + main_view + + + + + True + False + vertical + + + False + True + Fractal + + + + + True + False + vertical + + + True + False + True + True + fill + fill + + + + + + + loading + + + + + + + + + + + + + + +