Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ cscope.po.out
*.lo
*.o
*.obj
*.pyc

# Precompiled Headers
*.gch
Expand Down
64 changes: 33 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,36 @@
# Ombre GUI Wallet

Copyright (c) 2018, OMBRE
Copyright (c) 2017, Sumokoin.org

**One of the most easy-to-use, intuitive GUI (full) wallets in crypto.**

# Installation & running from source codes

1. Clone the repo:

git clone https://github.com/ombre-projects/OmbreGUIWallet/ SumoGUIWallet

# Sumokoin GUI Wallet

Copyright (c) 2017, Sumokoin.org

**One of the most easy-to-use, intuitive GUI (full) wallets in crypto.**

![](https://www.sumokoin.org/images/sumokoin-gui-wallet-v0.0.1-b2.png)


# Installation & running from source codes

1. Clone the repo:

git clone https://github.com/sumoprojects/SumoGUIWallet SumoGUIWallet

2. Install dependencies (with Python 2.7):

* Generally, you can use Python `pip` to install required components:
pip install PySide, requests, psutil
* or
pip install -r requirements.txt

pip install PySide, requests, psutil

* or

pip install -r requirements.txt

* On some OSes, PySide may be required to install from pre-built packages. For example, on Ubuntu 16.04, install PySide with the following command:
sudo apt install python-pyside
3. Build/download Sumokoin binaries from [Ombre repo](https://github.com/ombre-projects/ombre) and put it to `Resources/bin` sub-directory.
4. Run the wallet (Python 2.7):
cd /path/to/SumoGUIWallet
python wallet.py

sudo apt install python-pyside


3. Build/download Sumokoin binaries from [Sumokoin repo](https://github.com/sumoprojects/sumokoin) and put it to `Resources/bin` sub-directory.

4. Run the wallet (Python 2.7):

cd /path/to/SumoGUIWallet
python wallet.py
Binary file removed Resources/icons/logo_black_32.png
Binary file not shown.
Binary file removed Resources/icons/logo_black_64.png
Binary file not shown.
File renamed without changes.
Binary file added Resources/icons/ombre.ico
Binary file not shown.
Binary file added Resources/icons/ombre.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/icons/ombre_16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/icons/ombre_16x16_mac.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/icons/ombre_icon_32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Resources/icons/ombre_icon_64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Resources/icons/sumokoin.ico
Binary file not shown.
28 changes: 14 additions & 14 deletions app/QSingleApplication.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
# -*- coding: utf-8 -*-
## Copyright (c) 2017, The Sumokoin Project (www.sumokoin.org)
'''
QSingleApplication is a wrapper class for creating single interface
of appliaction
QSingleApplication is a wrapper class for creating single interface
of appliaction
'''

from __future__ import print_function
import sys, os

from PySide.QtGui import QApplication
from PySide.QtCore import QIODevice, QTimer
from PySide.QtNetwork import QLocalServer, QLocalSocket
from PySide.QtNetwork import QLocalServer, QLocalSocket

from utils.common import getSockDir, makeDir

DATA_DIR = makeDir(os.path.join(getSockDir(), 'OmbreGUIWallet'))

DATA_DIR = makeDir(os.path.join(getSockDir(), 'OmbreGUI'))
class QSingleApplication(QApplication):
sock_file = 'ombre_wallet_sock'
if sys.platform == 'win32':
Expand All @@ -25,21 +25,21 @@ class QSingleApplication(QApplication):
sock_file = os.path.join(DATA_DIR, '.%s' % sock_file)
else:
sock_file = os.path.join(getSockDir(), sock_file)

def singleStart(self, appMain):
self.appMain = appMain
# Socket
self.m_socket = QLocalSocket()
self.m_socket.connected.connect(self.connectToExistingApp)
self.m_socket.error.connect(lambda:self.startApplication(first_start=True))
self.m_socket.connectToServer(self.sock_file, QIODevice.WriteOnly)

def connectToExistingApp(self):
# Quit application in 250 ms
QTimer.singleShot(250, self.quit)
print( "App is already running.", file=sys.stderr )


def startApplication(self, first_start=True):
self.m_server = QLocalServer()
if self.m_server.listen(self.sock_file):
Expand All @@ -50,21 +50,21 @@ def startApplication(self, first_start=True):
print( "Error listening the socket. App can't start!", file=sys.stderr )
QTimer.singleShot(250, self.quit)
return

# remove the listener path file and try to restart app one more time
print( "Error listening the socket. Try to restart application...", file=sys.stderr )
if sys.platform != 'win32':
try:
os.unlink(self.sock_file)
except Exception, err:
print( err, file=sys.stderr )

QTimer.singleShot(250, lambda : self.startApplication(first_start=False))

def getNewConnection(self):
self.new_socket = self.m_server.nextPendingConnection()
self.new_socket.readyRead.connect(self.readSocket)

def readSocket(self):
f = self.new_socket.readLine()
self.appMain.processURLProtocol(str(f))
self.appMain.processURLProtocol(str(f))
Loading