Sharing is Caring

in #utopian-io7 years ago

Share Options (Enhancement / Feature)

Sharing a card with CafeSync is done passively most of the time, but in situations where you want to make sure a person gets your card into their contacts I included interfaces to send and receive cards manually. These functions were cut into two interfaces and accessed in different parts of the application. This worked well during the planning stages , but began to fall behind visually if not functionally as the interface evolved.

Old interface: oldshare.png

The new design combines the Send and Receive functions into one unified interface creating a much faster experience for two people wanting to share their cards.

New Interface:

newshare.png newreceive.png

As you can see, the interface went under a major face lift. For those curious, nearly every line of code in Share.qml was touched, but for the interface rework these are most important link.

As you can see, I have also added other options to help grow the user base. Logically named they use 'Qt.openUrlExternally' to launch the appropriate application and creates an invite to CafeSync within said app. In future versions this will link the recipient to an unique URL that will add the senders card to the new user's contact list automatically .

Hidpi Support (Bug)

Though most of the code base was built around the idea of using retaliative size for objects (scaling based on the resolution of the window) I never set up a true hidpi scaling mode.

With this version I took the time to rewrite the main.cpp file with hidpi scaling support. The solution required little work on my part as I merely added

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

After which the interface needed minor tweaking such as resetting the shadow effects, and minor text formatting issues. My hope is that this will make porting to other platforms easier going forward.

Graphics Acceleration (Bug)

GLES acceleration was lost in the application sometime around the addition of the native notification code. This lead to poor performance when the CPU was updating data at the same time as the interface was engaged in some sort of animation.

Rewriting the main.cpp file to utilize Qt's accelerated frame work was accomplished by adding these lines to the file

#include <QGuiApplication>
#include <QQmlApplicationEngine>
...
  QQmlApplicationEngine view;
   view.load(QUrl(QStringLiteral("qrc:/main.qml")));

Switching from the standard Qml view implementation has had numerous benefits beyond the speed increase. Such as the ability to add hidpi scaling (see above) and special button events (see below)

Back Button (Enhancement)

CafeSync was designed for the Ubuntu touch mobile operating system, as well as iOS and Android, because of the differences in the way the systems interacted with the users I had disabled the Android specific functions, In doing so I also broke the applications ability to access the systems graphics acceleration. (See above)

After the rewrite of the main.cpp file I now had access to the key events the system provided. In the instance of the back button on android you may refer to this section of [code] (https://github.com/OpenSeedINC/CafeSync/blob/master/main.qml#L259-L304) for further details.

Other additions:

these fall under the heading of "trivial code" but are still worth mentioning.

  • Menu now has an option to "Edit Profile".
  • CirclePic.qml and its subordinate circlepic.js have been edited to be more efficient .
  • Category select under Setup no longer has an action bar at the bottom
  • Several text size issues have been sorted.

Find out more

Curious about CafeSync and what it does? Check out my other posts here on Utopian and/or SteemIt

Downloads

Android Version

Sort:  

Hey @bflanagin

We're already looking forward to your next contribution!

Utopian Witness!

Vote for Utopian Witness! We are made of developers, system administrators, entrepreneurs, artists, content creators, thinkers. We embrace every nationality, mindset and belief.

Want to chat? Join us on Discord https://discord.gg/h52nFrV

Thanks for the contribution. It has been approved.


Need help? Write a ticket on https://support.utopian.io.
Chat with us on Discord.

[utopian-moderator]

Congratulations @bflanagin! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of posts published

Click on any badge to view your own Board of Honor on SteemitBoard.

To support your work, I also upvoted your post!
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Loading...

Coin Marketplace

STEEM 0.09
TRX 0.31
JST 0.031
BTC 105198.62
ETH 3750.50
USDT 1.00
SBD 0.58