implements current account selection

This patch implements the ui and logic of selecting the
current account used in the ring-win32 client

The selector is contained in a new dedicated widget
which displays an image representing the account selected
(for the moment there is no account related avatar so
the picture is the one from the profile) and the alias of the account
through a QComboBox

Finally, some css styling and search bar behaviour are fixed.

Change-Id: I60be8e352e15c7ffdd969f66df7e011f8212e40c
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
8 files changed
tree: e49ea382e041d6a4a21e3679c83b40cc45672a09
  1. .tx/
  2. docker/
  3. images/
  4. translations/
  5. .gitignore
  6. .gitmodules
  7. .gitreview
  8. aboutdialog.cpp
  9. aboutdialog.h
  10. aboutdialog.ui
  11. accountdetails.cpp
  12. accountdetails.h
  13. accountdetails.ui
  14. accountserializationadapter.cpp
  15. accountserializationadapter.h
  16. accountstatedelegate.cpp
  17. accountstatedelegate.h
  18. callutilsdialog.cpp
  19. callutilsdialog.h
  20. callutilsdialog.ui
  21. callwidget.cpp
  22. callwidget.h
  23. callwidget.ui
  24. combar.cpp
  25. combar.h
  26. combar.ui
  27. configurationwidget.cpp
  28. configurationwidget.h
  29. configurationwidget.ui
  30. contactdialog.ui
  31. contactmethodpicker.cpp
  32. contactmethodpicker.h
  33. contactmethodpicker.ui
  34. contactpicker.cpp
  35. contactpicker.h
  36. contactpicker.ui
  37. currentaccountwidget.cpp
  38. currentaccountwidget.h
  39. currentaccountwidget.ui
  40. globalsystemtray.cpp
  41. globalsystemtray.h
  42. ico.rc
  43. idlabel.cpp
  44. idlabel.h
  45. imdelegate.cpp
  46. imdelegate.h
  47. instantmessagingwidget.cpp
  48. instantmessagingwidget.h
  49. instantmessagingwidget.ui
  50. License.rtf
  51. main.cpp
  52. mainwindow.cpp
  53. mainwindow.h
  54. mainwindow.ui
  55. navstack.cpp
  56. navstack.h
  57. navwidget.cpp
  58. navwidget.h
  59. pathpassworddialog.cpp
  60. pathpassworddialog.h
  61. pathpassworddialog.ui
  62. photoboothdialog.cpp
  63. photoboothdialog.h
  64. photoboothdialog.ui
  65. pixbufmanipulator.cpp
  66. pixbufmanipulator.h
  67. qualitydialog.cpp
  68. qualitydialog.h
  69. qualitydialog.ui
  70. README.md
  71. ressources.qrc
  72. ring.nsi
  73. ringbutton.cpp
  74. ringbutton.h
  75. ringbutton.ui
  76. ringcontactlineedit.cpp
  77. ringcontactlineedit.h
  78. ringthemeutils.h
  79. RingWinClient.pro
  80. selectareadialog.cpp
  81. selectareadialog.h
  82. sendcontactrequestwidget.cpp
  83. sendcontactrequestwidget.h
  84. sendcontactrequestwidget.ui
  85. settingskey.h
  86. shmclient.cpp
  87. shmclient.h
  88. smartlist.cpp
  89. smartlist.h
  90. smartlistdelegate.cpp
  91. smartlistdelegate.h
  92. stylesheet.css
  93. update-translations.py
  94. utils.cpp
  95. utils.h
  96. videooverlay.cpp
  97. videooverlay.h
  98. videooverlay.ui
  99. videoview.cpp
  100. videoview.h
  101. videoview.ui
  102. videowidget.cpp
  103. videowidget.h
  104. windowscontactbackend.cpp
  105. windowscontactbackend.h
  106. wizarddialog.cpp
  107. wizarddialog.h
  108. wizarddialog.ui
README.md

Windows client for Ring

For more information about the ring project, see the following:

Requirements

  • Ring client library and Ring daemon
  • Mingw-w64 build environment
  • Qt5 (we link against Qt5Core, Qt5Widgets, Qt5Gui) built with Mingw
  • Qt5 Svg, Qt5 ImageFormats & Qt5 WinExtras built with Mingw

Get the source code

  • git clone https://gerrit-ring.savoirfairelinux.com/ring-client-windows

Build instructions

USE THE QMAKE OF Qt BUILT WITH MINGW (e.g. /usr/bin/[i686 | x86_64]-w64-mingw32-qmake-qt5)

cd ring-client-windows
mkdir build && cd build
export QTDIR=<path to mingw qt> (e.g. /usr/[i686 | x86_64]-w64-mingw32/lib/qt)
git submodule init && git submodule update
cd libqrencode
./autogen.sh && ./configure --host=[i686 | x86_64]-w64-mingw32 --prefix=<Install dir of Ring and LRC>
make
make install
cd ..
qmake ../RingWinClient.pro -r -spec win32-g++ RING=<Install dir of Ring and LRC> [BUILD=Debug]
make
make install

You will find all files in ./release directory.

#Auto update

If you want to enable auto-update

  • Build winsparkle In the client directory after having initialized the submodule
    cd winsparkle
    mkdir build && cd build
    cmake -DCMAKE_TOOLCHAIN_FILE=<LRC Directory>/cmake/winBuild.cmake -DCMAKE_INSTALL_PREFIX=Install dir of Ring and LRC> ../cmake",
    make
    make install
    
  • Compile the client with ENABLE_AUTOUPDATE=True

Debugging

Compile the client with 'BUILD=Debug' and libRingClient with '-DCMAKE_BUILD_TYPE=Debug'

Packaging

cd build/release
makensis ring.nsi