From 43f50af4eb60753caddd9f0ec62e0e99d1ce2181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yusuf=20=C5=9Eahin=20HAMZA?= <46890704+yusufsahinhamza@users.noreply.github.com> Date: Mon, 9 Sep 2019 20:00:32 +0300 Subject: [PATCH 1/7] Update Turkish translation (#180) --- res/zec_qt_wallet_tr.ts | 421 ++++++++++++++++++++-------------------- 1 file changed, 213 insertions(+), 208 deletions(-) diff --git a/res/zec_qt_wallet_tr.ts b/res/zec_qt_wallet_tr.ts index 7e0a43c..4edd94c 100644 --- a/res/zec_qt_wallet_tr.ts +++ b/res/zec_qt_wallet_tr.ts @@ -6,12 +6,12 @@ Label - Etiket + Etiket Address - Adres + Adres @@ -36,7 +36,7 @@ ZecWallet - + ZecWallet @@ -194,33 +194,33 @@ ZecWallet - + ZecWallet Your node is still syncing, balances may not be updated - + Düğümünüz hala senkronize oluyor, bakiyeler güncellenmeyebilir Recurring payment - + Düzenli ödeme Every month, starting 12-May-2012, for 6 payments - + Her ay, 12-May-2012'den itibaren, 6 ödeme için Edit Schedule - + Programı Düzenle z-Addr - + z-Adres @@ -230,7 +230,7 @@ View All Addresses - + Tüm Adresleri Görüntüle @@ -245,7 +245,7 @@ Address balance - + Adres bakiyesi @@ -376,42 +376,42 @@ Export transactions - + İşlemleri dışa aktar Pay zcash &URI... - + zcash URI öde... Connect mobile &app - + Mobil uygulamayı bağla Ctrl+M - + Ctrl+M &Recurring Payments - + Düzenli Ödemeler Request zcash... - + zcash iste... File a bug... - + Hata bildir... Validate Address - + Adres Doğrula &z-board.net @@ -478,102 +478,102 @@ Not yet ready - + Henüz hazır değil zcashd is not yet ready. Please wait for the UI to load - + zcashd henüz hazır değil. Lütfen arayüzün yüklenmesini bekleyin View tx on block explorer - + İşlemi blok gezgininde görüntüle Refresh - + Yenile Tor configuration is available only when running an embedded zcashd. - + Tor konfigürasyonu yalnızca gömülü bir zcashd çalışırken kullanılabilir. You're using an external zcashd. Please restart zcashd with -rescan - + Harici bir zcashd kullanıyorsun. Lütfen zcashd'yi -rescan ile yeniden başlat You're using an external zcashd. Please restart zcashd with -reindex - + Harici bir zcashd kullanıyorsun. Lütfen zcashd'yi -reindex ile yeniden başlat Enable Tor - + Tor'u etkinleştir Connection over Tor has been enabled. To use this feature, you need to restart ZecWallet. - + Tor üzerinden bağlantı etkin. Bu özelliği kullanmak için, ZecWallet'i yeniden başlatmanız gerekir. Disable Tor - + Tor'u devre dışı bırak Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart ZecWallet. - + Tor üzerinden bağlantı devre dışı bırakıldı. Tor ile bağlantıyı tamamen kesmek için ZecWallet'i yeniden başlatmanız gerekir. ZecWallet needs to restart to rescan/reindex. ZecWallet will now close, please restart ZecWallet to continue - + ZecWallet yeniden tarama/yeniden indeksleme için yeniden başlatılması gerekiyor. ZecWallet şimdi kapanacak, lütfen devam etmek için ZecWallet'i yeniden başlatın Restart ZecWallet - + ZecWallet'i yeniden başlat Thanks for supporting ZecWallet! - + ZecWallet'i desteklediğiniz için teşekkür ederiz! to support ZecWallet - + ZecWallet'i desteklemek için Enter Address to validate - + Doğrulamak için adres girin Transparent or Shielded Address: - + Transparan veya Korumalı Adres: Paste Zcash URI - + Zcash URI Yapıştır Error paying zcash URI - + zcash URI ödeme hatası URI should be of the form 'zcash:<addr>?amt=x&memo=y - + URI bu şekilde olmalıdır: 'zcash:<addr>?amt=x&memo=y @@ -589,12 +589,12 @@ Error - + Hata Error exporting transactions, file was not saved - + İşlemler dışa aktarılırken hata oluştu, dosya kaydedilmedi @@ -609,7 +609,7 @@ You need to back it up from the machine zcashd is running on - zcashd'ın çalıştığı makineden yedeklemeniz gerekiyor + zcashd'nin çalıştığı makineden yedeklemeniz gerekiyor @@ -634,7 +634,7 @@ This might take several minutes. Loading... - + Bu birkaç dakika sürebilir. Yükleniyor... @@ -677,7 +677,7 @@ Shield balance to Sapling - YOUR_TRANSLATION_HERE + @@ -693,17 +693,17 @@ Copy Address - + Adresi kopyala Address has been previously used - + Adres daha önce kullanılmış Address is unused - + Adres kullanılmamış @@ -714,7 +714,7 @@ View Payment Request - + Ödeme Talebini Görüntüle @@ -734,12 +734,12 @@ Cannot support multiple addresses - + Birden fazla adres desteklenemiyor Recurring payments doesn't currently support multiple addresses - + Düzenli ödemeler şu anda birden fazla adresi desteklemiyor @@ -773,17 +773,17 @@ z-adres'i gibi görünmüyor Change from - YOUR_TRANSLATION_HERE + Şuradan para üstü Current balance : - + Mevcut bakiye : Balance after this Tx: - + Bu işlemden sonra bakiye: @@ -798,17 +798,17 @@ z-adres'i gibi görünmüyor Recipient Address - Alıcı Adresi + Alıcı Adresi is Invalid - geçersizdir + geçersizdir Amount for address '%1' is invalid! - + '% 1' adresinin tutarı geçersiz! @@ -822,7 +822,7 @@ z-adres'i gibi görünmüyor Include Reply Address - + Yanıt Adresini Dahil Et @@ -838,32 +838,32 @@ z-adres'i gibi görünmüyor Migration Turnstile - + Turnstile Taşınması Migration History - + Taşıma Geçmişi Migrated Amount - + Taşınan miktar Unmigrated Amount - + Taşınmamış miktar Sprout -> Sapling migration enabled - + Sprout -> Sapling taşınması etkin If enabled, zcashd will slowly migrate your Sprout shielded funds to your Sapling address. - + Etkinleştirilirse, zcashd Sprout korumalı fonlarınızı yavaşça Sapling adresinize taşıyacaktır. @@ -871,7 +871,7 @@ z-adres'i gibi görünmüyor Migration Txids - + Geçiş İşlem id'leri @@ -879,53 +879,53 @@ z-adres'i gibi görünmüyor Connect Mobile App - + Mobil Uygulamaya Bağlan Scan this QRCode from your ZecWallet companion app to connect your phone - + Telefonunuzu bağlamak için bu QR Kodu'nu ZecWallet dostu uygulamadan tarayın QR Code - + QR Kodu Connection String - + Bağlantı Dizisi Allow connections over the internet via ZecWallet wormhole - + ZecWallet solucan deliği aracılığıyla internet üzerinden bağlantıya izin ver ZecWallet Companion App - + ZecWallet Dostu Uygulama Disconnect - + Bağlantıyı Kes TextLabel - + Metin Etiketi Last seen: - + Son görülen: Connection type: - + Bağlantı tipi: @@ -937,7 +937,7 @@ z-adres'i gibi görünmüyor Private Keys - + Özel Anahtarlar @@ -969,7 +969,7 @@ z-adres'i gibi görünmüyor daemon=1 zcashd, zec-qt-wallet ile sorunlara neden olan bir daemon olarak başlayacak şekilde ayarladınız. -.Lütfen aşağıdaki satırı zcash.conf dosyanızdan kaldırın ve ZecWallet'ı yeniden başlatın +.Lütfen aşağıdaki satırı zcash.conf dosyanızdan kaldırın ve ZecWallet'i yeniden başlatın daemon=1 @@ -1019,22 +1019,25 @@ Not starting embedded zcashd because --no-embedded was passed .Please remove the following line from your zcash.conf and restart ZecWallet daemon=1 - + zcashd'yi, zec-qt-wallet ile sorunlara neden olabilecek bir daemon olacak şekilde ayarladınız. + +.Lütfen aşağıdaki satırı zcash.conf dosyanızdan kaldırın ve ZecWallet'i yeniden başlatın +daemon=1 Hide Advanced Config - + Gelişmiş Konfigürasyonu Gizle Show Advanced Config - + Gelişmiş Konfigürasyonu Göster Choose data directory - + Veri dizini seç @@ -1050,12 +1053,12 @@ daemon=1 MB of - YOUR_TRANSLATION_HERE + MB / MB at - YOUR_TRANSLATION_HERE + MB saniyede @@ -1090,7 +1093,7 @@ daemon=1 zcashd has no peer connections - + zcashd'nin eş bağlantısı yok @@ -1114,39 +1117,41 @@ daemon=1 Update Available - + Güncelleme Mevcut A new release v%1 is available! You have v%2. Would you like to visit the releases page? - + Yeni bir sürüm olan v%1 mevcut! Sizin sürümünüz: v%2. + +Yayınlanan sürümler sayfasını ziyaret etmek ister misiniz? No updates available - + Güncelleme yok You already have the latest release v%1 - + Zaten en son sürüme (v%1) sahipsiniz Please wait for ZecWallet to exit - + Lütfen çıkmak için ZecWallet'i bekleyin No ZEC price was available to convert from USD - + USD'den dönüştürülebilecek ZEC fiyatı yok Computing Recurring Tx: - + Düzenli İşlem Hesaplama: @@ -1168,28 +1173,28 @@ Would you like to visit the releases page? View on block explorer - Blok gezgini üzerinde göster + Blok gezgini üzerinde göster View Error - + Hatayı Göster Reported Error - + Rapor Edilen Hata Are you sure you want to delete the recurring payment? - + Düzenli ödemeyi silmek istediğinize emin misiniz? All future payments will be cancelled. - + Gelecekteki tüm ödemeler iptal edilecektir. @@ -1198,7 +1203,7 @@ Would you like to visit the releases page? Please wait for zec-qt-wallet to exit - Lütfen çıkmak için ZecWallet'ı bekleyin + Lütfen çıkmak için ZecWallet'i bekleyin @@ -1246,7 +1251,7 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc This may take several hours - + Bu birkaç saat sürebilir @@ -1285,52 +1290,52 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc Pick - + Seç Address or Label Error - + Adres veya Etiket Hatası Address or Label cannot be empty - + Adres veya Etiket boş olamaz %1 doesn't seem to be a valid Zcash address. - + %1 geçerli bir Zcash adresi gibi gözükmüyor. Label Error - + Etiket Hatası The label '%1' already exists. Please remove the existing label. - + '%1' etiketi zaten var. Lütfen mevcut etiketi kaldırın. Import Address Book - + Adres Defterini İçe Aktar Unable to open file - Dosya açılamıyor + Dosya açılamıyor Address Book Import Done - + Adres Defteri İçe Aktarma İşlemi Yapıldı Imported %1 new Address book entries - + %1 yeni Adres defteri girişi içeri aktarıldı @@ -1393,27 +1398,27 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Confirmations - + Onaylar Connected directly - + Doğrudan bağlandı Connected over the internet via ZecWallet wormhole service - + ZecWallet'in solucan deliği servisi aracılığıyla internet üzerinden bağlandı Node is still syncing. - + Düğüm hala senkronize oluyor. No sapling or transparent addresses with enough balance to spend. - + Harcanacak bakiyesi olan Sapling veya Transparan adres yok. @@ -1421,17 +1426,17 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Dialog - + Diyalog View - + Görüntüle Delete - + Sil @@ -1439,37 +1444,37 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Amount - Miktar + Miktar Schedule - + Program Payments Left - + Kalan Ödemeler Next Payment - + Sonraki Ödeme To - Alıcı + Alıcı Every - + Her None - + Yok @@ -1477,7 +1482,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Payments - + Ödemeler @@ -1485,48 +1490,48 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Date - + Tarih Status - + Durum Txid - + İşlem id Not due yet - + Henüz değil Pending - + Kuyrukta Skipped - + Atlandı Paid - + Ödenmiş Error - + Hata Unknown - + Bilinmeyen @@ -1534,62 +1539,62 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Dialog - + Diyalog No payments will be processed. You can manually pay them from the Recurring Payments Dialog box - + Hiçbir ödeme işleme alınmayacak. Bunları Düzenli Ödemeler Diyalog kutusundan manuel olarak ödeyebilirsiniz Schedule - + Program How should ZecWallet proceed? - + ZecWallet nasıl ilerlemeli? Pay All in 1 Tx - + Hepsini 1 işlemde öde Only the latest pending payment will be processed. All previous pending payments will be skipped - + Yalnızca en son bekleyen ödeme işleme koyulur. Önceki tüm bekleyen ödemeler atlanacak Pay Latest Only - + Sadece Son Ödeme Pay None - + Hiç Ödeme All pending payments collected, added up and paid in a single transaction - + Beklemedeki tüm ödemeler toplanır, eklenir ve tek bir işlemde ödenir Description - + Açıklama To - Alıcı + Alıcı The following recurring payment has multiple payments pending - + Aşağıdaki tekrarlayan ödemede bekleyen birden fazla ödeme var @@ -1597,72 +1602,72 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Payment Request - + Ödeme Talebi AddressBook - + Adres Defteri Request From - + İstek Adresi My Address - + Benim Adresim Amount in - + Miktar: z address - + z adres Amount - Miktar + Miktar The recipient will see this address in the "to" field when they pay your request. - + Alıcı, isteğinizi ödediğinde bu adresi "alıcı" alanında görecektir. Amount USD - + USD Miktarı Memo - Memo + Memo TextLabel - + Metin Etiketi Request payment from a Sapling address. You'll send a ZEC 0.0001 transaction to the address with a zcash payment URI. The memo will be included in the transaction when the address pays you. - + Bir Sapling adresinden ödeme talep edin. Bir zcash ödeme URI'si olan bir adrese ZEC 0.0001 işlemi gönderirsiniz. Adres size ödeme yaptığında Memo işleme dahil edilecektir. Error paying zcash URI - + zcash URI ödeme hatası URI should be of the form 'zcash:<addr>?amt=x&memo=y - + URI bu şekilde olmalıdır: 'zcash:<addr>?amt=x&memo=y @@ -1672,17 +1677,17 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Pay - + Öde You are paying a payment request. Your address will not be visible to the person requesting this payment. - + Bir ödeme isteği ödüyorsunuz. Adresiniz bu ödemeyi isteyen kişiye görünmez. Can only request from Sapling addresses - + Sadece Sapling adreslerinden talep edebilir @@ -1725,12 +1730,12 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Connect via Tor - + Tor ile bağlan Check github for updates at startup - + Başlangıçta güncellemeler için github'u kontrol et @@ -1740,47 +1745,47 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Connect to the Tor network via SOCKS proxy running on 127.0.0.1:9050. Please note that you'll have to install and run the Tor service externally. - + Tor ağına 127.0.0.1:9050'de çalışan SOCKS proxy üzerinden bağlanın. Lütfen Tor servisini harici olarak kurmanız ve çalıştırmanız gerektiğini lütfen unutmayın. Connect to github on startup to check for updates - + Güncellemeleri denetlemek için başlangıçta github'a bağlanır Connect to the internet to fetch ZEC prices - + ZEC fiyatlarını çekmek için internete bağlanır Fetch ZEC / USD prices - + ZEC / USD fiyatlarını çek Troubleshooting - + Sorun giderme Reindex - + Yeniden indeksle Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart ZecWallet for this to take effect - + Eksik cüzdan işlemleri ve cüzdan bakiyenizi düzeltmek için blok zincirini yeniden tarayın. Bu birkaç saat sürebilir. Bunun gerçekleşmesi için ZecWallet'i yeniden başlatmanız gerekir Rescan - + Yeniden tara Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart ZecWallet for this to take effect - + Tüm blok dosyalarını yeniden tarayarak blok zincirini genesis bloğundan yeniden oluşturun. Bu, donanımınıza bağlı olarak birkaç saat ila günler sürebilir. Bunun gerçekleşmesi için ZecWallet’i yeniden başlatmanız gerekir @@ -1805,12 +1810,12 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Normally, change from t-Addresses goes to another t-Address. Checking this option will send the change to your shielded sapling address instead. Check this option to increase your privacy. - Normalde, t-Adres'lerinden para üstü başka bir t-Adres'e gider. Bu seçeneğin işaretlenmesi, para üstünü korumalı sapling adresinize gönderecektir. Gizliliğinizi artırmak için bu seçeneği işaretleyin. + Normalde, t-Adres'lerinden para üstü başka bir t-Adres'e gider. Bu seçeneğin işaretlenmesi, para üstünü Korumalı Sapling adresinize gönderecektir. Gizliliğinizi artırmak için bu seçeneği işaretleyin. Shield change from t-Addresses to your sapling address - YOUR_TRANSLATION_HERE + t-Adres'in para üstünü Korumalı Sapling adresine gönder @@ -1819,7 +1824,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Turnstile Migration - Turnstile Geçişi + Turnstile Taşıması @@ -1895,17 +1900,17 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Validate Address - + Adres Doğrulama TextLabel - + Metin Etiketi Address: - + Adres: @@ -1918,7 +1923,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Value - + Değer @@ -1926,12 +1931,12 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. All Addresses - + Tüm Adresler Export All Keys - + Tüm Anahtarları Dışa Aktar @@ -1939,12 +1944,12 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Address - Adres + Adres Balance (%1) - + Bakiye (%1) @@ -1985,7 +1990,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Import Address Book - + Adres Defterini İçe Aktar @@ -2008,17 +2013,17 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Recurring Payment - + Düzenli Ödeme TextLabel - + Metin Etiketi zcashd doesn't seem to have any peers. You might not be connected to the internet, so this transaction might not work. - + zcashd'in düğümleri yok gibi görünüyor. İnternete bağlı olmadığınız için bu işlem çalışmayabilir. @@ -2036,62 +2041,62 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Configure zcash.conf - + zcash.conf dosyasını yapılandırma Your zcash node will be configured for you automatically - + zcash düğümünüz sizin için otomatik olarak yapılandırılacak Enable Fast Sync - + Hızlı Senkronizasyonu Etkinleştir Show Advanced Configuration - + Gelişmiş Yapılandırmayı Göster Allow connections to the internet to check for updates, get ZEC/USD prices etc... - + ZEC/USD fiyatlarını çekme, güncellemeleri denetleme vb. işlemler için internete bağlanmaya izin ver Use custom datadir - + Özel datadir (veri dizini) kullan Choose directory - + Dizin seç Please note that you'll need to already have a Tor service configured on port 9050 - + Lütfen 9050 numaralı bağlantı noktasında yapılandırılmış bir Tor servisine ihtiyacınız olduğunu unutmayın Connect to the internet for updates and price feeds - + Güncellemelere ve fiyatlara bakmak için internete bağlan Please choose a directory to store your wallet.dat and blockchain - + Lütfen wallet.dat ve blok zinciri'nizi saklamak için bir dizin seçin Connect over Tor - + Tor üzerinden bağlan <html><head/><body><p>Skips the most expensive checks during the initial block download. <a href="https://docs.zecwallet.co/using-zecwallet/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">Learn More</span></a></p></body></html> - + <html><head/><body><p>Blok indirme işlemi sırasında en uzun süren kontrolleri atlar. <a href="https://docs.zecwallet.co/using-zecwallet/#fastsync"><span style=" text-decoration: underline; color:#0000ff;">Daha fazla bilgi edin</span></a></p></body></html> @@ -2099,47 +2104,47 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. Edit Schedule - + Program düzenleme Payment Description - + Ödeme Açıklaması Schedule - + Program Next Payment - + Sonraki Ödeme Amount - Miktar + Miktar Memo - Memo + Memo To - Alıcı + Alıcı From - Gönderen + Gönderen Number of payments - + Ödeme sayısı From 390ea6b50542c6baf7bb557fcd4cb36d66806d4a Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Mon, 16 Sep 2019 10:40:09 -0700 Subject: [PATCH 2/7] Verification progress instead of download. Fixes #182 --- src/rpc.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/rpc.cpp b/src/rpc.cpp index cdf992c..7c9b9ce 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -643,9 +643,6 @@ void RPC::getInfoThenRefresh(bool force) { QString txt = QString::number(blockNumber); if (estimatedheight > 0) { txt = txt % " / ~" % QString::number(estimatedheight); - // If estimated height is available, then use the download blocks - // as the progress instead of verification progress. - progress = (double)blockNumber / (double)estimatedheight; } txt = txt % " ( " % QString::number(progress * 100, 'f', 2) % "% )"; ui->blockheight->setText(txt); From 77585cf20a07373b66b16d76f91299105d422ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miodrag=20Popovi=C4=87?= Date: Fri, 27 Sep 2019 18:45:19 +0200 Subject: [PATCH 3/7] Update .travis.yml (#188) Build server is obviously upgraded to Ubuntu 16.04, travis build is failing because of outdated qt591 repository. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9ac7330..17ef9a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ matrix: packages: ['clang-3.7', 'g++-8'] before_install: - - sudo add-apt-repository ppa:beineri/opt-qt591-trusty -y + - sudo add-apt-repository ppa:beineri/opt-qt591-xenial -y - sudo apt-get update -qq - sudo apt-get install qt59base qt59websockets - source /opt/qt59/bin/qt59-env.sh @@ -24,4 +24,4 @@ script: - qmake zec-qt-wallet.pro CONFIG+=release -spec linux-g++ - res/libsodium/buildlibsodium.sh - make CC=gcc-8 CXX=g++-8 -j2 - \ No newline at end of file + From e7b08612fa761f031659e5bf3f5517cb96e6b28a Mon Sep 17 00:00:00 2001 From: earthorbit <55867375+earthorbit@users.noreply.github.com> Date: Fri, 27 Sep 2019 11:27:15 -0600 Subject: [PATCH 4/7] Themeability (#186) * add css (qss) * Include css * Merge pull request #6 from Fair-Exchange/css Css * fix * beta blue * fix * YellowFevers UI work * Merge pull request #7 from Fair-Exchange/css Css - YellowFevers UI work * Update mainwindow.cpp * Update mainwindow.ui * Merge pull request #6 from OleksandrBlack/css move Tx list to balance tab * Ease of use General usability improvements * Delete main.css * style for tab * Merge pull request #7 from YellowFeveRs/UI-work General UI improvements * updated tab styling * Merge pull request #8 from Fair-Exchange/css Css * fix * fix for Windows * fix for Windows * fix * Merge pull request #10 from Fair-Exchange/master Merge pull request #4 from OleksandrBlack/master * Merge pull request #10 from Fair-Exchange/master Merge pull request #4 from OleksandrBlack/master * Merge pull request #11 from OleksandrBlack/css Css * Merge pull request #12 from OleksandrBlack/style blue prepare * revert * Update zec_qt_wallet_zh.ts * Update zec_qt_wallet_es.ts * Update zec_qt_wallet_fr.ts * Update zec_qt_wallet_it.ts * Update zec_qt_wallet_pt.ts * Update json.hpp * Update json.hpp * Update about.ui * Update mainwindow.ui * Update connection.ui * Update connection.cpp * Update connection.cpp * Update application.qrc * Update mainwindow.cpp * Update settings.ui --- application.qrc | 16 + res/css/blue.css | 1732 +++++++++++++++++++ res/css/dark.css | 88 + res/css/default.css | 5 + res/css/light.css | 90 + res/images/blue/blue_downArrow.png | Bin 0 -> 212 bytes res/images/blue/blue_downArrow_small.png | Bin 0 -> 246 bytes res/images/blue/blue_leftArrow_small.png | Bin 0 -> 253 bytes res/images/blue/blue_qtreeview_selected.png | Bin 0 -> 111 bytes res/images/blue/blue_rightArrow_small.png | Bin 0 -> 254 bytes res/images/blue/blue_upArrow_small.png | Bin 0 -> 247 bytes res/images/blue/checked.png | Bin 0 -> 6377 bytes res/images/blue/unchecked.png | Bin 0 -> 224 bytes src/mainwindow.cpp | 52 + src/mainwindow.h | 3 + src/settings.cpp | 9 + src/settings.h | 7 +- src/settings.ui | 170 +- zec-qt-wallet.pro | 3 + 19 files changed, 2114 insertions(+), 61 deletions(-) create mode 100644 res/css/blue.css create mode 100644 res/css/dark.css create mode 100644 res/css/default.css create mode 100644 res/css/light.css create mode 100644 res/images/blue/blue_downArrow.png create mode 100644 res/images/blue/blue_downArrow_small.png create mode 100644 res/images/blue/blue_leftArrow_small.png create mode 100644 res/images/blue/blue_qtreeview_selected.png create mode 100644 res/images/blue/blue_rightArrow_small.png create mode 100644 res/images/blue/blue_upArrow_small.png create mode 100644 res/images/blue/checked.png create mode 100644 res/images/blue/unchecked.png diff --git a/application.qrc b/application.qrc index 4eefd0f..33408fa 100644 --- a/application.qrc +++ b/application.qrc @@ -20,4 +20,20 @@ res/zec_qt_wallet_zh.qm res/zec_qt_wallet_tr.qm + + res/css/blue.css + res/css/dark.css + res/css/default.css + res/css/light.css + + + res/images/blue/unchecked.png + res/images/blue/checked.png + res/images/blue/blue_downArrow.png + res/images/blue/blue_downArrow_small.png + res/images/blue/blue_upArrow_small.png + res/images/blue/blue_leftArrow_small.png + res/images/blue/blue_rightArrow_small.png + res/images/blue/blue_qtreeview_selected.png + diff --git a/res/css/blue.css b/res/css/blue.css new file mode 100644 index 0000000..25d810e --- /dev/null +++ b/res/css/blue.css @@ -0,0 +1,1732 @@ +WalletFrame { +border-image: url(':/images/blue/res/images/blue/blue_walletFrame_bg') 0 0 0 0 stretch stretch; +border-top:0px solid #000; +margin:0; +padding:0; +background: #f6f7f8; +} + +QStatusBar { + background: #c5cad3; + border: 0; + color: #3b4c6b; + height: 36px; + min-height: 36px; + padding: 0; +} + +.QFrame { +background-color:transparent; +border:0px solid #fff; +} + +QMenuBar { +background-color:#fff; +} + +QMenuBar::item { +background-color:#fff; +color: #333; +} + +QMenuBar::item:selected { +background-color:#f8f6f6; +} + +QMenu { +background-color:#f8f6f6; +} + +QMenu::item { +color:#333; +} + +QMenu::item:selected { +background-color:#f2f0f0; +color:#333; +} + +QToolBar { + background: #c5cad3; + border: 0; + color: #3b4c6b; + height: 36px; + min-height: 36px; + padding: 0; +} + +QToolBar > QToolButton { +background-color:#01698d; +border:0px solid #333; +min-height:2.5em; +padding: 0em 1em; +font-weight:bold; +color:#fff; +} + +QToolBar > QToolButton:checked { +background-color:#fff; +color:#333; +font-weight:bold; +} + +QMessageBox { +background-color:#F8F6F6; +} + +/*******************************************************/ + +QLabel { /* Base Text Size & Color */ +font-size:13px; +color:#3b4c6b; +} + +.QCheckBox { /* Checkbox Labels */ +color:#3b4c6b; +background-color:transparent; +} + +.QCheckBox:hover { +background-color:transparent; +} + +.QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */ +border: 1px solid #01698d; +font-size:11px; +min-height:25px; +outline:0; +padding:3px; +background-color:#fcfcfc; +} + +.QLineEdit:!focus { +font-size:12px; +} + +.QValidatedLineEdit:disabled, .QLineEdit:disabled { +background-color:#f2f2f2; +} + +/*******************************************************/ + +QPushButton { /* Global Button Style */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #64ACD2, stop: .1 #01698d, stop: .95 #01698d, stop: 1 #1D80B5); +border:0; +border-radius:10px; +color:#ffffff; +font-size:12px; +font-weight:bold; +padding-left:25px; +padding-right:25px; +padding-top:5px; +padding-bottom:5px; +min-height:25px; +} + +QPushButton:hover, +.QPushButton:hover { + background: rgb(186, 190, 194); + color: #FFF; +} + +QPushButton:focus { +border:none; +outline:none; +} + +QPushButton:pressed { +border:1px solid #333; +} + +QComboBox { /* Dropdown Menus */ +border:1px solid #82C3E6; +padding: 3px 5px 3px 5px; +background:#fcfcfc; +min-height:25px; +color:#01698d; +} + +QComboBox:checked { +background:#f2f2f2; +} + +QComboBox:editable { +background: #01698d; +color:#616161; +border:0px solid transparent; +} + +QComboBox::drop-down { +width:25px; +border:0px; +} + +QComboBox::down-arrow { +border-image: url(':/images/blue/res/images/blue/blue_downArrow') 0 0 0 0 stretch stretch; +} + +QComboBox QListView { +background:#fff; +border:1px solid #333; +padding-right:1px; +padding-left:1px; +} + +QComboBox QAbstractItemView::item { margin:4px; } + +QComboBox::item { +color:#01698d; +} + +QComboBox::item:alternate { +background:#fff; +} + +QComboBox::item:selected { +border:0px solid transparent; +background:#f2f2f2; +} + +QComboBox::indicator { +background-color:transparent; +selection-background-color:transparent; +color:transparent; +selection-color:transparent; +} + +QAbstractSpinBox { +border:1px solid #82C3E6; +padding: 3px 5px 3px 5px; +background:#fcfcfc; +min-height:25px; +color:#01698d; +} + +QAbstractSpinBox::up-button { +subcontrol-origin: border; +subcontrol-position: top right; +width:21px; +background:#fcfcfc; +border-left:0px; +border-right:1px solid #82C3E6; +border-top:1px solid #82C3E6; +border-bottom:0px; +padding-right:1px; +padding-left:5px; +padding-top:2px; +} + +QAbstractSpinBox::up-arrow { +image:url(':/images/blue/res/images/blue/blue_upArrow_small'); +} + +QAbstractSpinBox::down-button { +subcontrol-origin: border; +subcontrol-position: bottom right; +width:21px; +background:#fcfcfc; +border-top:0px; +border-left:0px; +border-right:1px solid #82C3E6; +border-bottom:1px solid #82C3E6; +padding-right:1px; +padding-left:5px; +padding-bottom:2px; +} + +QAbstractSpinBox::down-arrow { +image:url(':/images/blue/res/images/blue/blue_downArrow_small'); +} + +QCheckBox { +spacing: 5px; +} + +QCheckBox::indicator { +width: 16px; +height: 16px; +} + +QCheckBox::indicator:unchecked { +image:url(':/images/blue/res/images/blue/unchecked'); +} + +QCheckBox::indicator:unchecked:hover { +image:url(':/images/blue/res/images/blue/unchecked'); +} + +QCheckBox::indicator:unchecked:pressed { +image:url(':/images/blue/res/images/blue/checked'); +} + +QCheckBox::indicator:checked { +image:url(':/images/blue/res/images/blue/checked'); +} + +QCheckBox::indicator:checked:hover { +image:url(':/images/blue/res/images/blue/checked'); +} + +QCheckBox::indicator:checked:pressed { +image:url(':/images/blue/res/images/blue/unchecked'); +} + +QCheckBox::indicator:indeterminate:hover { +image:url(':/images/blue/res/images/blue/unchecked'); +} + +QCheckBox::indicator:indeterminate:pressed { +image:url(':/images/blue/res/images/blue/checked'); +} + + +/*******************************************************/ + +QHeaderView { /* Table Header */ +background-color:transparent; +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #4c97bf, stop: 1 #01698d); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:11px; +outline:0; +border:0px solid #fff; +border-right:1px solid #fff; +padding-left:5px; +padding-right:5px; +padding-top:2px; +padding-bottom:2px; +} + +QHeaderView::section:last { +border-right: 0px solid #d7d7d7; +} + +.QScrollArea { +background:transparent; +border:0px; +} + +.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:transparent; +border:0px solid #fff; +} + +QTableView::item { /* Table Item */ +background-color:#fcfcfc; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:rgb(186, 190, 194); +color:#333; +} + +QScrollBar { /* Scroll Bar */ + +} + +QScrollBar:vertical { /* Vertical Scroll Bar Attributes */ +border:0; +background:#ffffff; +width:18px; +margin: 18px 0px 18px 0px; +} + +QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */ +border:0; +background:#ffffff; +height:18px; +margin: 0px 18px 0px 18px; +} + + +QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */ +background:#e0e0e0; +min-height:10px; +} + +QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */ +background:#e0e0e0; +min-width:10px; +} + +QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */ +background:#F8F6F6; +} + +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */ +background-color:#F8F6F6; +border: 1px solid #f2f0f0; +width:16px; +height:16px; +} + +QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed { +background-color:#e0e0e0; +} + +QScrollBar::sub-line:vertical { /* Vertical - top button position */ +subcontrol-position:top; +subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { /* Vertical - bottom button position */ +subcontrol-position:bottom; +subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { /* Vertical - left button position */ +subcontrol-position:left; +subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { /* Vertical - right button position */ +subcontrol-position:right; +subcontrol-origin: margin; +} + +QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */ +width:10px; +height:10px; +} + +QScrollBar:up-arrow { +background-image: url(':/images/blue/res/images/blue/blue_upArrow_small'); +} + +QScrollBar:down-arrow { +background-image: url(':/images/blue/res/images/blue/blue_downArrow_small'); +} + +QScrollBar:left-arrow { +background-image: url(':/images/blue/res/images/blue/blue_leftArrow_small.png'); +} + +QScrollBar:right-arrow { +background-image: url(':/images/blue/res/images/blue/blue_rightArrow_small.png'); +} + + +/*******************************************************/ + +/* DIALOG BOXES */ + +QDialog .QTabWidget { +border-bottom:1px solid #333; +} + +QDialog .QTabWidget::pane { +border: 1px solid #d7d7d7; +} + +.QTabWidget QTabBar::tab { +background-color:#01698D; +color:#FFFFFF; +padding-left:20px; +padding-right:20px; +padding-top:5px; +padding-bottom:5px; +border-top: 1px solid #d7d7d7; +border: 1px solid white; +min-height: 9px; +} + +.QTabWidget QTabBar::tab:first { +border-left: 1px solid #01698D; +} + +.QTabWidget QTabBar::tab:last { +border-right: 1px solid #343A40; +} + +.QTabWidget QTabBar::tab:selected { +background-color:#FFFFFF; +color:#000; +border: 1px ridge #01698D; + +} + +.QTabWidget QTabBar::tab:hover { +background-color:rgb(186, 190, 194); +color:#FFFFFF; +border: 1px ridge #FFFFFF; +} + +QDialog .QTabWidget .QWidget { +background-color:#fff; +color:#333; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox { +min-height:15px; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox::down-button { +width:15px; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox::up-button { +width:15px; +} + +QDialog .QTabWidget .QWidget QComboBox { +min-height:15px; +} + +QDialog QWidget { /* Remove Annoying Focus Rectangle */ +outline: 0; +} + +/*******************************************************/ +/* FILE MENU */ + +/* Dialog: Open URI */ +QDialog#OpenURIDialog { +background-color:#F8F6F6; +} + +QDialog#OpenURIDialog QLabel#label { /* URI Label */ +font-weight:bold; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton { /* ... Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton:pressed { +border:1px solid #9e9e9e; +} + +/* Dialog: Sign / Verify Message */ +QDialog#SignVerifyMessageDialog { +background-color:#F8F6F6; +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_SM { /* Address Book Button */ +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPlainTextEdit { /* Message Signing Text */ +border:1px solid #82C3E6; +background-color:#fff; +} + +QDialog#SignVerifyMessageDialog QPushButton#pasteButton_SM { /* Paste Button */ +qproperty-icon: url(":/icons/blue/res/icons/blue/blue_editpaste"); +background-color:transparent; +padding-left:15px; +} + +QDialog#SignVerifyMessageDialog QLineEdit:!focus { /* Font Hack */ +font-size:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#copySignatureButton_SM { /* Copy Button */ +qproperty-icon: url(":/icons/blue/res/icons/blue/blue_editcopy"); +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_VM { /* Verify Message - Address Book Button */ +background-color:transparent; +border:0; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM { /* Verify Message - Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:pressed { +border:1px solid #9e9e9e; +} + +/* Dialog: Send and Receive */ +QWidget#AddressBookPage { +background-color:#F8F6F6; +} + +QWidget#AddressBookPage QPushButton#newAddress { /* New Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#newAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#newAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QPushButton#copyAddress { /* Copy Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#copyAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#copyAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QPushButton#showAddressQRCode { /* Show Address QR code Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#showAddressQRCode:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#showAddressQRCode:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QPushButton#deleteAddress { /* Delete Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#deleteAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#deleteAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QTableView { /* Address Listing */ +font-size:12px; +} + +QWidget#AddressBookPage QHeaderView::section { /* Min width for Windows fix */ +min-width:260px; +} + +/* SETTINGS MENU */ + +/* Encrypt Wallet and Change Passphrase Dialog */ +QDialog#AskPassphraseDialog { +background-color:#F8F6F6; +} + +QDialog#AskPassphraseDialog QLabel#passLabel1, QDialog#AskPassphraseDialog QLabel#passLabel2, QDialog#AskPassphraseDialog QLabel#passLabel3 { +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:170px; +min-height:33px; /* base width of 25px for QLineEdit, plus padding and border */ +} + +/* Options Dialog */ +QDialog#OptionsDialog { +background-color:#F8F6F6; +} + +QDialog#OptionsDialog QValueComboBox, QDialog#OptionsDialog QSpinBox { +margin-top:5px; +margin-bottom:5px; +} + +QDialog#OptionsDialog QValidatedLineEdit, QDialog#OptionsDialog QValidatedLineEdit:disabled, QDialog#OptionsDialog QLineEdit, QDialog#OptionsDialog QLineEdit:disabled { +qproperty-alignment: 'AlignVCenter | AlignLeft'; +min-height:20px; +margin-top:0px; +margin-bottom:0px; +padding-top:1px; +padding-bottom:1px; +} + +QDialog#OptionsDialog > QLabel { +qproperty-alignment: 'AlignVCenter'; +min-height:20px; +} + +QDialog#OptionsDialog QWidget#tabDisplay QValueComboBox { +margin-top:0px; +margin-bottom:0px; +} + +QDialog#OptionsDialog QLabel#label_3 { /* Translations Missing? Label */ +qproperty-alignment: 'AlignVCenter | AlignCenter'; +color:#01698d; +padding-bottom:8px; +} + +QDialog#OptionsDialog QCheckBox { +min-height:20px; +} + +QDialog#OptionsDialog QCheckBox#displayAddresses { +min-height:33px; + +} + +/* TOOLS MENU */ + +QDialog#RPCConsole { /* RPC Console Dialog Box */ +background-color:#F8F6F6; +} + +QDialog#RPCConsole QWidget#tab_info QLabel#label_11, QDialog#RPCConsole QWidget#tab_info QLabel#label_10 { /* Margin between Network and Block Chain headers */ +qproperty-alignment: 'AlignBottom'; +min-height:25px; +min-width:180px; +} + +QDialog#RPCConsole QWidget#tab_peers QLabel#peerHeading { /* Peers Info Header */ +color:#01698d; +} + +QDialog#RPCConsole QPushButton#openDebugLogfileButton { +max-width:60px; +} + +QDialog#RPCConsole QTextEdit#messagesWidget { /* Console Messages Window */ +border:0; +} + +QDialog#RPCConsole QLineEdit#lineEdit { /* Console Input */ +margin-right:5px; +} + +QDialog#RPCConsole QPushButton#clearButton { /* Console Clear Button */ +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#RPCConsole .QGroupBox #line { /* Network In Line */ +background-color:#00ff00; +} + +QDialog#RPCConsole .QGroupBox #line_2 { /* Network Out Line */ +background:#ff0000; +} + +/* HELP MENU */ + +/* Command Line Options Dialog */ +QDialog#HelpMessageDialog { +background-color:#F8F6F6; +} + +QDialog#HelpMessageDialog QScrollArea * { +background-color:#ffffff; +} + +QDialog#HelpMessageDialog QScrollBar:vertical, QDialog#HelpMessageDialog QScrollBar:horizontal { +border:0; +} + +/* About Dash Dialog */ +QDialog#AboutDialog { +background-color:#F8F6F6; +} + +QDialog#AboutDialog QLabel#label, QDialog#AboutDialog QLabel#copyrightLabel, QDialog#AboutDialog QLabel#label_2 { /* About Dash Contents */ +margin-left:10px; +} + +QDialog#AboutDialog QLabel#label_2 { /* Margin for About Dash text */ +margin-right:10px; +} + +/* Edit Address Dialog */ +QDialog#EditAddressDialog { +background-color:#F8F6F6; +} + +QDialog#EditAddressDialog QLabel { +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-height:27px; +font-weight:normal; +padding-right:5px; +} + +/* OVERVIEW SCREEN */ + +QWidget .QFrame#frame { /* Wallet Balance */ +min-width:490px; +} + +QWidget .QFrame#frame > .QLabel { +min-width:190px; +font-weight:normal; +min-height:30px; +} + +QWidget .QFrame#frame .QLabel#label_5 { /* Wallet Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#fff; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelWalletStatus { /* Wallet Sync Status */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +margin-left:3px; +} + +QWidget .QFrame#frame .QLabel#labelSpendable { /* Spendable Header */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:18px; +} + +QWidget .QFrame#frame .QLabel#labelWatchonly { /* Watch-only Header */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelBalanceText { /* Available Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#01698d; +color:#ffffff; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:14px; +min-height:35px; +} + +QWidget .QFrame#frame .QLabel#labelBalance { /* Available Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +font-weight:bold; +color:#01698d; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchAvailable { /* Watch-only Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelPendingText { /* Pending Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelUnconfirmed { /* Pending Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchPending { /* Watch-only Pending Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelImmatureText { /* Immature Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelImmature { /* Immature Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchImmature { /* Watch-only Immature Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelTotalText { /* Total Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelTotal { /* Total Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchTotal { /* Watch-only Total Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +/* PRIVATESEND WIDGET */ + +QWidget .QFrame#framePrivateSend { /* PrivateSend Widget */ +background-color:transparent; +max-width: 451px; +min-width: 451px; +max-height: 350px; +} + +QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetPrivateSendHeader { /* PrivateSend Header */ +max-width: 421px; +min-width: 421px; +} + +QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendHeader { /* PrivateSend Header */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#01698d; +color:#fff; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:14px; +min-height:35px; +max-height:35px; +} +/******************************************************************/ +QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendSyncStatus { /* PrivateSend Sync Status */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +margin-left:2px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget { +max-width: 451px; +max-height: 175px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget > .QLabel { +min-width:175px; +font-weight:normal; +min-height:25px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabledText { /* PrivateSend Status Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelPrivateSendEnabled { /* PrivateSend Status */ + +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelCompletitionText { /* PrivateSend Completion Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; + +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress { /* PrivateSend Completion */ +border: 1px solid #01698d; +border-radius: 10px; +margin-right:43px; +text-align: right; +color:#01698d; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QProgressBar#privateSendProgress::chunk { +background-color: #01698d; +width:1px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymizedText { /* PrivateSend Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAnonymized { /* PrivateSend Balance */ + +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountAndRoundsText { /* PrivateSend Amount and Rounds Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelAmountRounds { /* PrivateSend Amount and Rounds */ + +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenomText { /* PrivateSend Submitted Denom Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#F8F6F6; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#framePrivateSend #privateSendFormLayoutWidget .QLabel#labelSubmittedDenom { /* PrivateSend Submitted Denom */ + +} + +QWidget .QFrame#framePrivateSend .QWidget#layoutWidgetLastMessageAndButtons { +max-width: 451px; +} + +QWidget .QFrame#framePrivateSend .QLabel#labelPrivateSendLastMessage { /* PrivateSend Status Notifications */ +qproperty-alignment: 'AlignVCenter | AlignCenter'; +min-width: 288px; +min-height: 43px; +font-size:11px; +color:#01698d; +} + +/* PRIVATESEND BUTTONS */ + +QWidget .QFrame#framePrivateSend .QPushButton { /* PrivateSend Buttons - General Attributes */ +border:0px solid #ffffff; +} + +QWidget .QFrame#framePrivateSend QPushButton:focus { +border:none; +outline:none; +} + +QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend { /* Start PrivateSend Mixing */ +font-size:15px; +font-weight:bold; +color:#ffffff; +padding-left:10px; +padding-right:10px; +padding-top:5px; +padding-bottom:6px; +} + +QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend:hover { + +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto { /* Try Mix Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +min-height:25px; +font-size:9px; +padding:0px; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto:pressed { +border:1px solid #9e9e9e; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset { /* Reset Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +min-height:25px; +font-size:9px; +padding:0px; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendReset:pressed { +border:1px solid #9e9e9e; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo { /* Info Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +min-height:25px; +font-size:9px; +padding:0px; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget .QFrame#framePrivateSend .QPushButton#privateSendInfo:pressed { +border:1px solid #9e9e9e; +} + +/* RECENT TRANSACTIONS */ + +QWidget .QFrame#frame_2 { /* Transactions Widget */ +min-width:410px; +margin-right:20px; +margin-left:0; +margin-top:0; +background-image: url(':/images/blue/res/images/blue/dash_logo_horizontal'); +background-repeat:none; +} + +QWidget .QFrame#frame_2 .QLabel#label_4 { /* Recent Transactions Label */ +min-width:180px; +color:#01698d; +margin-left:67px; +margin-top:83px; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:15px; +min-height:24px; +} + +QWidget .QFrame#frame_2 .QLabel#labelTransactionsStatus { /* Recent Transactions Sync Status */ +qproperty-alignment: 'AlignBottom | AlignRight'; +min-width:93px; +margin-top:83px; +margin-left:16px; +margin-right:5px; +min-height:16px; +} + +QWidget .QFrame#frame_2 QListView { /* Transaction List */ +font-weight:normal; +font-size:12px; +max-width:369px; +margin-top:12px; +margin-left:0px; /* CSS Voodoo - set to -66px to hide default transaction icons */ +} + +/* MODAL OVERLAY */ + +QWidget#bgWidget { /* The 'frame' overlaying the overview-page */ + background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); + color:#616161; + padding-left:10px; + padding-right:10px; +} + +QWidget#bgWidget .QPushButton#warningIcon { +width:64px; +height:64px; +padding:5px; +background-color:transparent; +} + +QWidget#contentWidget { /* The actual content with the text/buttons/etc... */ +border-image: url(':/images/blue/res/images/blue/blue_walletFrame_bg') 0 0 0 0 stretch stretch; +border-top:0px solid #000; +margin:0; +padding-top:20px; +padding-bottom: 20px; +} + +QWidget#bgWidget .QPushButton#closeButton { + +} + +/* SEND DIALOG */ + +QDialog#SendCoinsDialog .QFrame#frameCoinControl { /* Coin Control Section */ + +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl > .QLabel { /* Default Font Color and Size */ +font-weight:normal; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QPushButton#pushButtonCoinControl { /* Coin Control Inputs Button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlFeatures { /* Coin Control Header */ +color:#01698d; +font-weight:bold; +font-size:14px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl { /* Coin Control Inputs */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .QLabel { /* Coin Control Inputs Labels */ +padding:2px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlChangeLabel { /* Custom Change Address Validation Label */ +font-weight:normal; +qproperty-margin:-6; +margin-right:112px; +} + +QDialog#SendCoinsDialog .QScrollArea#scrollArea .QWidget#scrollAreaWidgetContents { /* Send To Widget */ +background:transparent; +} + +QDialog#SendCoinsDialog .QPushButton#sendButton { /* Send Button */ +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SendCoinsDialog .QPushButton#addButton { /* Add Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#addButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SendCoinsDialog .QPushButton#addButton:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SendCoinsDialog .QCheckBox#checkUsePrivateSend { /* PrivateSend Checkbox */ +color:#616161; +font-weight:bold; +background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(248, 246, 246, 128), stop: 1 rgba(0, 0, 0, 0)); +border-radius:10px; +padding-top:20px; +padding-bottom:18px; +} + +QDialog#SendCoinsDialog .QCheckBox#checkUseInstantSend { /* InstantSend Checkbox */ +color:#616161; +font-weight:bold; +background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(248, 246, 246, 128), stop: 1 rgba(0, 0, 0, 0)); +border-radius:10px; +padding-top:20px; +padding-bottom:18px; +margin-left:10px; +margin-right:20px; +} + +/* This QLabel uses name = "label" which conflicts with Address Book -> New Address */ +/* To maximize backwards compatibility this formatting has been removed */ + +QDialog#SendCoinsDialog QLabel#label { +/*margin-left:20px; +margin-right:-2px; +padding-right:-2px; +color:#616161; +font-size:14px; +font-weight:bold; +border-radius:5px; +padding-top:20px; +padding-bottom:20px;*/ +min-height:27px; +} + +QDialog#SendCoinsDialog QLabel#labelBalance { +margin-left:0px; +padding-left:0px; +color:#333333; +/* font-weight:bold; +border-radius:5px; +padding-top:20px; +padding-bottom:20px; */ +min-height:27px; +} + +#checkboxSubtractFeeFromAmount { +padding-left:10px; +} + +/* SEND COINS ENTRY */ + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins > .QLabel { /* Send Coin Entry Labels */ +background-color:#01698d; +min-width:102px; +font-weight:bold; +font-size:11px; +color:#ffffff; +min-height:25px; +margin-right:5px; +padding-right:5px; +} + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins .QLabel#amountLabel { +background-color:#6a6a6a; +} + +QStackedWidget#SendCoinsEntry .QValidatedLineEdit#payTo { /* Pay To Input Field */ +} + +QStackedWidget#SendCoinsEntry .QToolButton { /* General Settings for Pay To Icons */ +background-color:transparent; +padding-left:5px; +padding-right:5px; +border: 0; +outline: 0; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { /* Address Book Button */ +padding-left:10px; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { +} + +QStackedWidget#SendCoinsEntry .QToolButton#pasteButton { +} + +QStackedWidget#SendCoinsEntry .QToolButton#deleteButton { +} + +QStackedWidget#SendCoinsEntry .QLineEdit#addAsLabel { /* Pay To Input Field */ +} + +/* COIN CONTROL POPUP */ + +QDialog#CoinControlDialog { /* Coin Control Dialog Window */ +background-color:#F8F6F6; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantityText { /* Coin Control Quantity Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantity { /* Coin Control Quantity */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlBytesText { /* Coin Control Bytes Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlBytes { /* Coin Control Bytes */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAmountText { /* Coin Control Amount Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAmount { /* Coin Control Amount */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlPriorityText { /* Coin Control Priority Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlPriority { /* Coin Control Priority */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlFeeText { /* Coin Control Fee Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlFee { /* Coin Control Fee */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutputText { /* Coin Control Low Output Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutput { /* Coin Control Low Output */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFeeText { /* Coin Control After Fee Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFee { /* Coin Control After Fee */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlChangeText { /* Coin Control Change Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlChange { /* Coin Control Change */ + +} + +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonSelectAll { /* (un)select all button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { /* Toggle lock state button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */ +} + +QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioTreeMode { /* Coin Control Tree Mode Selector */ +color:#01698d; +background-color:transparent; +} + +QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioListMode { /* Coin Control List Mode Selector */ +color:#01698d; +background-color:transparent; +} + +QDialog#CoinControlDialog QHeaderView::section:first { /* Bug Fix: the number "1" displays in this table for some reason... */ +color:transparent; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget { /* Coin Control Widget Container */ +outline:0; +background-color:#ffffff; +border:0px solid #01698d; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item { +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:selected { /* Coin Control Item (selected) */ +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:checked { /* Coin Control Item (checked) */ +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */ +background-image: url(':/images/blue/res/images/blue/blue_qtreeview_selected'); +background-repeat:no-repeat; +background-position:center; +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */ +background-image: url(':/images/blue/res/images/blue/blue_qtreeview_selected'); +background-repeat:no-repeat; +background-position:center; +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::seperator { + +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::indicator { /* Coin Control Widget Checkbox */ + +} + +/* RECEIVE COINS */ + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_2 { /* Label Label */ +background-color:#01698d; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label { /* Amount Label */ +background-color:#6a6a6a; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_3 { /* Message Label */ +background-color:#01698d; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton { /* Show Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton { /* Remove Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame .QLabel#label_6 { /* Requested Payments History Label */ +color:#01698d; +font-weight:bold; +font-size:14px; +} + +/* RECEIVE COINS DIALOG */ + +QDialog#ReceiveRequestDialog { +background-color:#F8F6F6; +} + +QDialog#ReceiveRequestDialog QTextEdit { /* Contents of Receive Coin Dialog */ +border:1px solid #d7d7d7; +} + +/* General QR-code DIALOG */ + +QDialog#QRDialog { +background-color:#F8F6F6; +} + +QDialog#QRDialog QTextEdit { /* Contents of QR-code Dialog */ +border:1px solid #d7d7d7; +} + +/* TRANSACTIONS PAGE */ + +TransactionView QLineEdit { /* Filters */ +margin-bottom:2px; +margin-right:1px; +min-width:111px; +text-align:center; +} + +TransactionView QLineEdit#addressWidget { /* Address Filter */ +margin-bottom:2px; +margin-right:1px; +min-width:900px; +text-align:center; +} + +TransactionView QLineEdit#amountWidget { /* Amount Filter */ +margin-bottom:2px; +margin-right:1px; +max-width:100px; +text-align:center; +} + +TransactionView QComboBox { +margin-bottom:1px; +margin-right:1px; +} + +QLabel#transactionSumLabel { /* Example of setObjectName for widgets without name */ +color:#333333; +font-weight:bold; +} + +QLabel#transactionSum { /* Example of setObjectName for widgets without name */ +color:#333333; +} + +/* TRANSACTION DETAIL DIALOG */ + +QDialog#TransactionDescDialog { +background-color:#F8F6F6; +} + +QDialog#TransactionDescDialog QTextEdit { /* Contents of Receive Coin Dialog */ +border:1px solid #d7d7d7; +} + + +/* QT */ +QLineEdit#sendAddressBalance{ + min-width: 175px; + max-width: 225px; + font: bold; +} + +QComboBox#inputsCombo QListView { +border:2px solid #01698d; +padding-right:1px; +padding-left:1px; + font: normal; +} + +QComboBox#listReceiveAddresses +{ + font: normal; +} + +QComboBox#listReceiveAddresses QListView { +border:2px solid #01698d; +padding-right:1px; +padding-left:1px; + font: normal; +} + +.QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */ + border: 1px solid #01698d; + font-size:11px; + min-height:25px; + outline:0; + padding:3px; + background-color:#fcfcfc; + color:#333333; + } + + .QLineEdit:!focus { + font-size:12px; + } + + .QValidatedLineEdit:disabled, .QLineEdit:disabled { + background-color:#f2f2f2; + } + + /* Form elements */ +QLineEdit { /* inputs */ + border-radius: 4px; + border: 1px solid #c5cad3; + padding: 5px; + font: 12px "Volte"; diff --git a/res/css/dark.css b/res/css/dark.css new file mode 100644 index 0000000..826ed99 --- /dev/null +++ b/res/css/dark.css @@ -0,0 +1,88 @@ + +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel +{ + background-color: #303335; + color: #ffffff; +} + +QTabWidget QTabBar::tab { +padding-left:20px; +padding-right:20px; +padding-top:5px; +padding-bottom:5px; +border: 1px solid #525355; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); +} + +QTabWidget QTabBar::tab:selected { +min-height: 10px; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #525355, stop: 1 #303335); +color:#fff; +border: 1px ridge #000; +} + +QTabWidget QTabBar::tab:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); +color:#fff; +border: 1px ridge #fff; +min-height: 20px +} + +QHeaderView { /* Table Header */ +background-color:#303335; +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:11px; +outline:0; +border:1px solid #525355; +border-right:1px solid #fff; +border-left:1px solid #fff; +padding-left:5px; +padding-right:5px; +padding-top:2px; +padding-bottom:2px; +} + +QHeaderView::section:last { +border-right: 0px solid #d7d7d7; +} + +QScrollArea { +background:transparent; +border:0px; +} + +QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:#303335; +} + +QTableView::item { /* Table Item */ +background-color:#303335; +border:1px solid #fff; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:#fff; +color:#000; +} + +QMenuBar { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #525355, stop: 1 #303335); +color: #fff; +} + +QMenuBar::item { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #525355, stop: 1 #303335); +color: #fff; +} + +QMenuBar::item:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); +} diff --git a/res/css/default.css b/res/css/default.css new file mode 100644 index 0000000..f34f1dc --- /dev/null +++ b/res/css/default.css @@ -0,0 +1,5 @@ +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel +{ + /**/ + +} diff --git a/res/css/light.css b/res/css/light.css new file mode 100644 index 0000000..e48c6bb --- /dev/null +++ b/res/css/light.css @@ -0,0 +1,90 @@ +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QWidget, QPlainTextEdit, QLineEdit, QLabel +{ + background-color: #dadada; + color: #000000; + +} + +QTabWidget QTabBar::tab { +padding-left:20px; +padding-right:20px; +padding-top:5px; +padding-bottom:5px; +border: 1px solid #525355; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #DADADA, stop: 1 #747577); +color:#fff; +} + +QTabWidget QTabBar::tab:selected { +min-height: 10px; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #DADADA); +color:#000; +border: 1px ridge #000; +} + +QTabWidget QTabBar::tab:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #DADADA); +color:#000; +border: 1px ridge #fff; +min-height: 20px +} + +QHeaderView { /* Table Header */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #DADADA, stop: 1 #747577); +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #DADADA, stop: 1 #747577); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:11px; +outline:0; +border:1px solid #747577; +border-right:1px solid #fff; +border-left:1px solid #fff; +padding-left:5px; +padding-right:5px; +padding-top:2px; +padding-bottom:2px; +} + +QHeaderView::section:last { +border-right: 0px solid #d7d7d7; +} + +QScrollArea { +background:transparent; +border:0px; +} + +QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:#DADADA; +} + +QTableView::item { /* Table Item */ +background-color:#DADADA; +border:1px solid #fff; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:#747577; +color:#fff; +} + +QMenuBar { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #DADADA, stop: 1 #747577); +color: #fff; +} + +QMenuBar::item { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #DADADA, stop: 1 #747577); +color: #fff; +} + +QMenuBar::item:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #DADADA); +color:#000; +} diff --git a/res/images/blue/blue_downArrow.png b/res/images/blue/blue_downArrow.png new file mode 100644 index 0000000000000000000000000000000000000000..e26c529d23d162c7a4cf3a1136a62faca0bf4b6e GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{3?%2B3|#`G3<7*YT>t<7uiLhnc=Ygvz)qlE z{*oZSU;F98 zjsroB=L(&Ev}Ve!Tr=(V+9|HLC%j*Dce7sCv|P`P>G78?UYb^O?Tc#skGgk^j}Ec0 U9^m2M4K$Cz)78&qol`;+03&Z!Z~y=R literal 0 HcmV?d00001 diff --git a/res/images/blue/blue_downArrow_small.png b/res/images/blue/blue_downArrow_small.png new file mode 100644 index 0000000000000000000000000000000000000000..0f66a1a6ce6046df80cbab91c7a0b63712f79763 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&g#`G7xc>kDU$<>Db&==8n?Hf( zOP2)s1v4;c`8DOXn~Uj0KRA8j+$|e%?iJ09{n;}d47*usbb!jtJY5_^IIfqTGURgs zau3QXF5L6z$p883b_#(RQ+#Z{9&6wd{j>FVdQ&MBb@06`gFrvLx| literal 0 HcmV?d00001 diff --git a/res/images/blue/blue_leftArrow_small.png b/res/images/blue/blue_leftArrow_small.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0f63ecf20d9dfde02329669785978b2e19c25d GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&g#`G7xc>kDU$<>Db&==8n?Hf( zOP2)s1v4<{XmLmTt$5JXe>&G;#tFmhbIrHf8EwqP#k%%-@dB0Edb&7#`kF(*39Nys4uYYc^Jz%bz{a{P79&B XRC5j|_dqXspg|0tu6{1-oD!M<$T(hZ literal 0 HcmV?d00001 diff --git a/res/images/blue/blue_qtreeview_selected.png b/res/images/blue/blue_qtreeview_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..2656a1efa43ec83b28ce1515a8665440773cf766 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{g0VEjo3~z4-Qf8hmjv*44lYjK_8ca~FVp^Ty zcC|KV(NxFD_maD|U0WKO_p?niDl*}+>zt@J&yq?Hb9UAC@GwkImcP-+zON5tlBcVm J%Q~loCIH8>B?kDU$<>Db&==8n?Hf( zOP2)s1v4;+iJRLnw%=;bJ(qo=$#90l>HY^R{Gz$FboT06Y5KU`cAZyh3 literal 0 HcmV?d00001 diff --git a/res/images/blue/blue_upArrow_small.png b/res/images/blue/blue_upArrow_small.png new file mode 100644 index 0000000000000000000000000000000000000000..4e854fdfecee16ca6f4d9f480fedbe03865d0b4d GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&g#`G7xc>kDU$<>Db&==8n?Hf( zOP2)s1v4-hIyBA5?q_UX!7Xlc>)eUc52AI%%-eJQw0siZ?g1(@_jGX#;gDrLXvo!I zz`(FEX5kJC&cFZJx%2q=l9(76L|z?kFkCR>blu9u+~xl1Q&)wx?ga|hxtX!qDhVAs Q2sDDh)78&qol`;+0Q7rW0{{R3 literal 0 HcmV?d00001 diff --git a/res/images/blue/checked.png b/res/images/blue/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..91a675a7534f88ec0e4a1c455cf767a2cbb03efc GIT binary patch literal 6377 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 literal 0 HcmV?d00001 diff --git a/res/images/blue/unchecked.png b/res/images/blue/unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..9aabccb27f6e25c9b6d935a557c0a977d59921de GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2co&H|6fVg?3oArNM~bhqvgP;io` zi(`nz>94!6Y@-Hm^7xN)&`2vo2vn%MSqmZapYf3^Q_ z&b3URoEm9zSD@e+=RqrDH=Ayo*^_s@WzMTusP!o)%Gl&?flDXzJI}k{#9Nfk%k5k8 zvQ7J$$-ID@Zmq#m+h=T(cogID_CWk6;YpTd2itDQ+i#Rlp1Ca`>CW<_)qf_Ndso}c Ud$-XV=u`#get_theme_name(); + } + catch (...) + { + theme_name = "default"; + } + + this->slot_change_theme(theme_name); + + ui->setupUi(this); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("zec-qt-wallet.log")); @@ -116,6 +132,7 @@ MainWindow::MainWindow(QWidget *parent) : // Initialize to the balances tab ui->tabWidget->setCurrentIndex(0); + // The zcashd tab is hidden by default, and only later added in if the embedded zcashd is started zcashdtab = ui->tabWidget->widget(4); ui->tabWidget->removeTab(4); @@ -484,6 +501,12 @@ void MainWindow::setupSettingsModal() { } }); + // Setup theme combo + int theme_index = settings.comboBoxTheme->findText(Settings::getInstance()->get_theme_name(), Qt::MatchExactly); + settings.comboBoxTheme->setCurrentIndex(theme_index); + + QObject::connect(settings.comboBoxTheme, SIGNAL(currentIndexChanged(QString)), this, SLOT(slot_change_theme(QString))); + // Save sent transactions settings.chkSaveTxs->setChecked(Settings::getInstance()->getSaveZtxs()); @@ -1602,6 +1625,35 @@ void MainWindow::updateLabels() { updateLabelsAutoComplete(); } +void MainWindow::slot_change_theme(const QString& theme_name) +{ + /* + QMessageBox msgBox; + msgBox.setText(theme_name); + msgBox.exec(); + */ + Settings::getInstance()->set_theme_name(theme_name); + + // Include css + QString saved_theme_name; + try + { + saved_theme_name = Settings::getInstance()->get_theme_name(); + } + catch (...) + { + saved_theme_name = "default"; + } + + QFile qFile(":/css/res/css/" + saved_theme_name +".css"); + if (qFile.open(QFile::ReadOnly)) + { + QString styleSheet = QLatin1String(qFile.readAll()); + this->setStyleSheet(styleSheet); + } + +} + MainWindow::~MainWindow() { delete ui; diff --git a/src/mainwindow.h b/src/mainwindow.h index 5343d28..923250a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -81,6 +81,9 @@ public: void doClose(); +public slots: + void slot_change_theme(const QString& themeName); + private: void closeEvent(QCloseEvent* event); diff --git a/src/settings.cpp b/src/settings.cpp index 4682700..4ad21e0 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -149,6 +149,15 @@ void Settings::setAllowCustomFees(bool allow) { QSettings().setValue("options/customfees", allow); } +QString Settings::get_theme_name() { + // Load from the QT Settings. + return QSettings().value("options/theme_name", false).toString(); +} + +void Settings::set_theme_name(QString theme_name) { + QSettings().setValue("options/theme_name", theme_name); +} + bool Settings::getSaveZtxs() { // Load from the QT Settings. return QSettings().value("options/savesenttx", true).toBool(); diff --git a/src/settings.h b/src/settings.h index a0fbff5..395349e 100644 --- a/src/settings.h +++ b/src/settings.h @@ -68,7 +68,10 @@ public: bool getCheckForUpdates(); void setCheckForUpdates(bool allow); - + + QString get_theme_name(); + void set_theme_name(QString theme_name); + bool isSaplingActive(); void setUsingZcashConf(QString confLocation); @@ -142,4 +145,4 @@ private: double zecPrice = 0.0; }; -#endif // SETTINGS_H \ No newline at end of file +#endif // SETTINGS_H diff --git a/src/settings.ui b/src/settings.ui index 296a4f6..50401b2 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -7,7 +7,7 @@ 0 0 540 - 504 + 539 @@ -145,50 +145,27 @@ Options - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + - Connect via Tor + Connect to github on startup to check for updates - - + + - Check github for updates at startup + Normally, change from t-Addresses goes to another t-Address. Checking this option will send the change to your shielded sapling address instead. Check this option to increase your privacy. + + + true - - - - Qt::Horizontal + + + + Clear History @@ -199,16 +176,26 @@ - - + + - Normally, change from t-Addresses goes to another t-Address. Checking this option will send the change to your shielded sapling address instead. Check this option to increase your privacy. - - - true + Connect to the internet to fetch ZEC prices + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -219,10 +206,10 @@ - - + + - Clear History + Check github for updates at startup @@ -236,13 +223,6 @@ - - - - Allow custom fees - - - @@ -250,6 +230,19 @@ + + + + + 0 + 0 + + + + Qt::Horizontal + + + @@ -260,17 +253,30 @@ - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + - Connect to github on startup to check for updates + Connect via Tor - - + + - Connect to the internet to fetch ZEC prices + Allow custom fees @@ -281,6 +287,52 @@ + + + + + 0 + 0 + + + + Theme + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + default + + + + + blue + + + + + light + + + + + dark + + + + diff --git a/zec-qt-wallet.pro b/zec-qt-wallet.pro index 52a11af..756eea2 100644 --- a/zec-qt-wallet.pro +++ b/zec-qt-wallet.pro @@ -25,6 +25,7 @@ DEFINES += \ QT_DEPRECATED_WARNINGS INCLUDEPATH += src/3rdparty/ +INCLUDEPATH += src/ RESOURCES = application.qrc @@ -151,3 +152,5 @@ else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/res/liblibs else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/res/libsodium.lib else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/res/libsodiumd.lib else:unix: PRE_TARGETDEPS += $$PWD/res/libsodium.a + +DISTFILES += From 5cff40c63ef4bb37a17b419c5532a5e5042228f5 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Fri, 27 Sep 2019 10:29:36 -0700 Subject: [PATCH 5/7] Update CSS and add restart warning --- res/css/dark.css | 2 +- res/css/default.css | 2 +- res/css/light.css | 2 +- src/mainwindow.cpp | 11 +++++------ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/res/css/dark.css b/res/css/dark.css index 826ed99..7846b25 100644 --- a/res/css/dark.css +++ b/res/css/dark.css @@ -1,5 +1,5 @@ -QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow { background-color: #303335; color: #ffffff; diff --git a/res/css/default.css b/res/css/default.css index f34f1dc..ac10db5 100644 --- a/res/css/default.css +++ b/res/css/default.css @@ -1,4 +1,4 @@ -QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow { /**/ diff --git a/res/css/light.css b/res/css/light.css index e48c6bb..16b9a0b 100644 --- a/res/css/light.css +++ b/res/css/light.css @@ -1,4 +1,4 @@ -QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QWidget, QPlainTextEdit, QLineEdit, QLabel +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QWidget, QPlainTextEdit, QLineEdit, QLabel, MainWindow { background-color: #dadada; color: #000000; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5335853..240b492 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -505,7 +505,11 @@ void MainWindow::setupSettingsModal() { int theme_index = settings.comboBoxTheme->findText(Settings::getInstance()->get_theme_name(), Qt::MatchExactly); settings.comboBoxTheme->setCurrentIndex(theme_index); - QObject::connect(settings.comboBoxTheme, SIGNAL(currentIndexChanged(QString)), this, SLOT(slot_change_theme(QString))); + QObject::connect(settings.comboBoxTheme, &QComboBox::currentTextChanged, [=] (QString theme_name) { + this->slot_change_theme(theme_name); + // Tell the user to restart + QMessageBox::information(this, tr("Restart"), tr("Please restart ZecWallet to have the theme apply"), QMessageBox::Ok); + }); // Save sent transactions settings.chkSaveTxs->setChecked(Settings::getInstance()->getSaveZtxs()); @@ -1627,11 +1631,6 @@ void MainWindow::updateLabels() { void MainWindow::slot_change_theme(const QString& theme_name) { - /* - QMessageBox msgBox; - msgBox.setText(theme_name); - msgBox.exec(); - */ Settings::getInstance()->set_theme_name(theme_name); // Include css From 864651247c0a35ac3b6090bf65ab987764aea372 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Fri, 27 Sep 2019 10:39:47 -0700 Subject: [PATCH 6/7] Add libGL for linker --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 17ef9a3..1f2853d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ matrix: before_install: - sudo add-apt-repository ppa:beineri/opt-qt591-xenial -y - sudo apt-get update -qq - - sudo apt-get install qt59base qt59websockets + - sudo apt-get install qt59base qt59websockets libgl1-mesa-dev - source /opt/qt59/bin/qt59-env.sh script: From 72db09a7b2f3bae155aad4959f3224b9dfa2a52a Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Mon, 30 Sep 2019 09:57:40 -0700 Subject: [PATCH 7/7] Rename title to ZecWallet Full Node --- src/about.ui | 2 +- src/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/about.ui b/src/about.ui index 6332d7e..5564f1b 100644 --- a/src/about.ui +++ b/src/about.ui @@ -17,7 +17,7 @@ - ZecWallet + ZecWallet FullNode diff --git a/src/main.cpp b/src/main.cpp index 45cf2eb..b1b1dd4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -228,7 +228,7 @@ public: } w = new MainWindow(); - w->setWindowTitle("ZecWallet v" + QString(APP_VERSION)); + w->setWindowTitle("ZecWallet FullNode v" + QString(APP_VERSION)); // If there was a payment URI on the command line, pay it if (parser.positionalArguments().length() > 0) {