refactor: implement new lrc api

- use new lrc models for
 - smartlist
 - conversation view
 - account selector

Change-Id: I0a009d4e9be6f84100f49ba176d853e05364c351
diff --git a/ring-client-windows.vcxproj b/ring-client-windows.vcxproj
index d092da0..cb7f54b 100644
--- a/ring-client-windows.vcxproj
+++ b/ring-client-windows.vcxproj
@@ -5,10 +5,6 @@
       <Configuration>Release</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Debug|x64">

-      <Configuration>Debug</Configuration>

-      <Platform>x64</Platform>

-    </ProjectConfiguration>

   </ItemGroup>

   <PropertyGroup Label="Globals">

     <ProjectGuid>{0F6318E4-4C06-384E-BCA8-F344DA187957}</ProjectGuid>

@@ -26,15 +22,6 @@
     <IntermediateDirectory>release\</IntermediateDirectory>

     <PrimaryOutput>Ring</PrimaryOutput>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

-    <PlatformToolset>v141</PlatformToolset>

-    <OutputDirectory>debug\</OutputDirectory>

-    <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>

-    <CharacterSet>NotSet</CharacterSet>

-    <ConfigurationType>Application</ConfigurationType>

-    <IntermediateDirectory>debug\</IntermediateDirectory>

-    <PrimaryOutput>Ring</PrimaryOutput>

-  </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">

     <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>

@@ -49,9 +36,6 @@
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />

   </ImportGroup>

-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />

-  </ImportGroup>

   <PropertyGroup Label="UserMacros" />

   <PropertyGroup>

     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

@@ -59,19 +43,15 @@
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Ring</TargetName>

     <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>

     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>

-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Ring</TargetName>

-    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>

   </PropertyGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

     <ClCompile>

-      <AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;$(ProjectDir)../daemon/contrib/msvc/include;$(ProjectDir)../lrc/src;$(ProjectDir)../client-windows/winsparkle/include;$(ProjectDir)../client-windows/qrencode-win32/qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

       <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>

       <AssemblerListingLocation>release\</AssemblerListingLocation>

       <BrowseInformation>false</BrowseInformation>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

-      <DisableSpecificWarnings>4068;4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+      <DisableSpecificWarnings>4068;4099;4189;4267;4577;4467;4715;%(DisableSpecificWarnings)</DisableSpecificWarnings>

       <ExceptionHandling>Sync</ExceptionHandling>

       <ObjectFileName>$(IntDir)</ObjectFileName>

       <Optimization>MaxSpeed</Optimization>

@@ -90,7 +70,7 @@
     <Link>

       <AdditionalDependencies>..\daemon\MSVC\x64\ReleaseLib_win32\bin\dring.lib;..\lrc\msvc\src\qtwrapper\Release\qtwrapper.lib;..\lrc\msvc\release\ringclient_static.lib;.\winsparkle\x64\release\WinSparkle.lib;.\qrencode-win32\qrencode-win32\vc8\qrcodelib\x64\Release-Lib\qrcodelib.lib;shell32.lib;Ole32.lib;Advapi32.lib;Shlwapi.lib;User32.lib;Gdi32.lib;Crypt32.lib;Strmiids.lib;$(QTDIR)\lib\qtmain.lib;$(QTDIR)\lib\Qt5Svg.lib;$(QTDIR)\lib\Qt5Widgets.lib;$(QTDIR)\lib\Qt5WinExtras.lib;$(QTDIR)\lib\Qt5Gui.lib;$(QTDIR)\lib\Qt5Xml.lib;$(QTDIR)\lib\Qt5Network.lib;$(QTDIR)\lib\Qt5Core.lib;$(QTDIR)\lib\Qt5Sql.lib;%(AdditionalDependencies)</AdditionalDependencies>

       <AdditionalLibraryDirectories>$(QTDIR)\lib;..\daemon\contrib\msvc\lib\x64;..\daemon\MSVC\x64\ReleaseLib_win32\bin;..\lrc\msvc\release;.\winsparkle\x64\release;.\qrencode-win32\qrencode-win32\vc8\qrcodelib\x64\Release-Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

-      <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>

+      <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /ignore:4006,4049,4078,4098 /LTCG /NODEFAULTLIB:LIBCMT %(AdditionalOptions)</AdditionalOptions>

       <DataExecutionPrevention>true</DataExecutionPrevention>

       <GenerateDebugInformation>true</GenerateDebugInformation>

       <IgnoreImportLibrary>true</IgnoreImportLibrary>

@@ -136,109 +116,53 @@
       <QTDIR>$(QTDIR)</QTDIR>

     </QtUic>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

-    <ClCompile>

-      <AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;$(ProjectDir)../lrc/src;$(ProjectDir)../client-windows/winsparkle/include;$(ProjectDir)../client-windows/qrencode-win32/qrencode-win32;$(QTDIR)\include;debug;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>

-      <AssemblerListingLocation>debug\</AssemblerListingLocation>

-      <BrowseInformation>false</BrowseInformation>

-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

-      <DisableSpecificWarnings>4068;4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>

-      <ExceptionHandling>Sync</ExceptionHandling>

-      <ObjectFileName>$(IntDir)</ObjectFileName>

-      <Optimization>Disabled</Optimization>

-      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

-      <PreprocessToFile>false</PreprocessToFile>

-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>

-      <WarningLevel>Level3</WarningLevel>

-      <MultiProcessorCompilation>true</MultiProcessorCompilation>

-      <ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>

-    </ClCompile>

-    <Link>

-      <AdditionalDependencies>$(QTDIR)\lib\qtmaind.lib;shell32.lib;C:\Users\fner\Desktop\RINGVS2017\ring-project\daemon\MSVC\x64\DebugLib_win32\bin\dringd.lib;C:\Users\fner\Desktop\RINGVS2017\ring-project\lrc\msvc\debug\ringclient_s.lib;.\winsparkle\x64\release\WinSparkle.lib;.\qrencode-win32\qrencode-win32\vc8\qrcodelib\x64\Release-Lib\qrcodelib.lib;Ole32.lib;Advapi32.lib;Shlwapi.lib;User32.lib;Gdi32.lib;Crypt32.lib;Mmdevapi.lib;$(QTDIR)\lib\Qt5Svgd.lib;$(QTDIR)\lib\Qt5Widgetsd.lib;$(QTDIR)\lib\Qt5WinExtrasd.lib;$(QTDIR)\lib\Qt5Guid.lib;$(QTDIR)\lib\Qt5Xmld.lib;$(QTDIR)\lib\Qt5Networkd.lib;$(QTDIR)\lib\Qt5Cored.lib;$(QTDIR)\lib\Qt5Sqld.lib;%(AdditionalDependencies)</AdditionalDependencies>

-      <AdditionalLibraryDirectories>$(QTDIR)\lib;C:\utils\my_sql\my_sql\lib;C:\utils\postgresql\pgsql\lib;$(QTDIR)\lib;C:\Users\fner\Desktop\RINGVS2017\ring-project\daemon\contrib\msvc\lib\x64;C:\Users\fner\Desktop\RINGVS2017\ring-project\daemon\MSVC\x64\ReleaseLib\bin;C:\Users\fner\Desktop\RINGVS2017\ring-project\lrc\msvc\release;.\winsparkle\x64\release;.\qrencode-win32\qrencode-win32\vc8\qrcodelib\x64\Release-Lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

-      <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>

-      <DataExecutionPrevention>true</DataExecutionPrevention>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <IgnoreImportLibrary>true</IgnoreImportLibrary>

-      <OutputFile>$(OutDir)\Ring.exe</OutputFile>

-      <RandomizedBaseAddress>true</RandomizedBaseAddress>

-      <SubSystem>Windows</SubSystem>

-      <SuppressStartupBanner>true</SuppressStartupBanner>

-      <Version>2.0</Version>

-    </Link>

-    <Midl>

-      <DefaultCharType>Unsigned</DefaultCharType>

-      <EnableErrorChecks>None</EnableErrorChecks>

-      <WarningLevel>0</WarningLevel>

-    </Midl>

-    <ResourceCompile>

-      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

-    </ResourceCompile>

-    <QtRcc>

-      <QTDIR>$(QTDIR)</QTDIR>

-      <ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>

-      <Compression>default</Compression>

-      <InitFuncName>ressources</InitFuncName>

-      <OutputFile>.\GeneratedFiles\qrc_%(Filename).cpp</OutputFile>

-      <InputFile>%(FullPath)</InputFile>

-    </QtRcc>

-    <QtMoc>

-      <QTDIR>$(QTDIR)</QTDIR>

-      <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile>

-      <Define>_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;%(PreprocessorDefinitions)</Define>

-      <CompilerFlavor>msvc</CompilerFlavor>

-      <Include>$(Configuration)/moc_predefs.h</Include>

-      <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>

-      <InputFile>%(FullPath)</InputFile>

-      <DynamicSource>output</DynamicSource>

-      <IncludePath>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;.;$(ProjectDir)../lrc/src;$(ProjectDir)../client-windows/winsparkle/include;$(ProjectDir)../client-windows/qrencode-win32/qrencode-win32;$(QTDIR)\include;debug;$(QTDIR)\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</IncludePath>

-    </QtMoc>

-    <QtUic>

-      <InputFile>%(FullPath)</InputFile>

-      <ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>

-      <OutputFile>.\GeneratedFiles\ui_%(Filename).h</OutputFile>

-      <QTDIR>$(QTDIR)</QTDIR>

-    </QtUic>

-  </ItemDefinitionGroup>

   <ItemGroup>

     <ClCompile Include="aboutdialog.cpp" />

     <ClCompile Include="accountdetails.cpp" />

+    <ClCompile Include="accountitemdelegate.cpp" />

     <ClCompile Include="accountserializationadapter.cpp" />

+    <ClCompile Include="accountlistmodel.cpp" />

     <ClCompile Include="accountstatedelegate.cpp" />

     <ClCompile Include="bannedcontactswidget.cpp" />

     <ClCompile Include="callutilsdialog.cpp" />

-    <ClCompile Include="callwidget.cpp" />

-    <ClCompile Include="combar.cpp" />

+    <ClCompile Include="callwidget.cpp">

+      <OutputFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>

+      <DynamicSource Condition="'$(Configuration)|$(Platform)'=='Release|x64'">input</DynamicSource>

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

+    </ClCompile>

     <ClCompile Include="configurationwidget.cpp" />

-    <ClCompile Include="contactmethodpicker.cpp" />

     <ClCompile Include="contactpicker.cpp" />

-    <ClCompile Include="contactrequestitemdelegate.cpp" />

-    <ClCompile Include="contactrequestlistwidget.cpp" />

     <ClCompile Include="contactrequestwidget.cpp" />

     <ClCompile Include="currentaccountwidget.cpp" />

     <ClCompile Include="deleteaccountdialog.cpp" />

-    <ClCompile Include="deletecontactdialog.cpp" />

     <ClCompile Include="globalsystemtray.cpp" />

     <ClCompile Include="idlabel.cpp" />

     <ClCompile Include="imdelegate.cpp" />

     <ClCompile Include="instantmessagingwidget.cpp" />

+    <ClCompile Include="invitebuttonswidget.cpp" />

     <ClCompile Include="main.cpp" />

     <ClCompile Include="mainwindow.cpp" />

+    <ClCompile Include="messagemodel.cpp" />

     <ClCompile Include="navwidget.cpp" />

     <ClCompile Include="photoboothdialog.cpp" />

     <ClCompile Include="photoboothwidget.cpp" />

     <ClCompile Include="pixbufmanipulator.cpp" />

     <ClCompile Include="qualitydialog.cpp" />

-    <ClCompile Include="quickactcontactrequestwidget.cpp" />

     <ClCompile Include="ringbutton.cpp" />

     <ClCompile Include="ringcontactlineedit.cpp" />

     <ClCompile Include="selectareadialog.cpp" />

     <ClCompile Include="sendcontactrequestwidget.cpp" />

-    <ClCompile Include="smartlist.cpp" />

-    <ClCompile Include="smartlistdelegate.cpp" />

+    <ClCompile Include="conversationsfilterwidget.cpp">

+      <OutputFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>

+      <DynamicSource Condition="'$(Configuration)|$(Platform)'=='Release|x64'">input</DynamicSource>

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

+    </ClCompile>

+    <ClCompile Include="smartlistselectorbuttonnotifier.cpp" />

+    <ClCompile Include="smartlistview.cpp" />

+    <ClCompile Include="conversationitemdelegate.cpp" />

+    <ClCompile Include="smartlistmodel.cpp" />

     <ClCompile Include="utils.cpp" />

     <ClCompile Include="videooverlay.cpp" />

     <ClCompile Include="videoview.cpp" />

@@ -261,16 +185,17 @@
     </QtMoc>

     <QtMoc Include="callwidget.h">

     </QtMoc>

-    <QtMoc Include="combar.h">

-    </QtMoc>

     <QtMoc Include="configurationwidget.h">

     </QtMoc>

-    <QtMoc Include="contactmethodpicker.h">

-    </QtMoc>

     <QtMoc Include="contactpicker.h">

     </QtMoc>

-    <ClInclude Include="contactrequestitemdelegate.h" />

-    <QtMoc Include="contactrequestlistwidget.h">

+    <QtMoc Include="accountlistmodel.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Define>

+    </QtMoc>

+    <QtMoc Include="accountitemdelegate.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Define>

     </QtMoc>

     <QtMoc Include="contactrequestwidget.h">

     </QtMoc>

@@ -278,8 +203,6 @@
     </QtMoc>

     <QtMoc Include="deleteaccountdialog.h">

     </QtMoc>

-    <QtMoc Include="deletecontactdialog.h">

-    </QtMoc>

     <QtMoc Include="globalsystemtray.h">

     </QtMoc>

     <QtMoc Include="idlabel.h">

@@ -296,12 +219,18 @@
     </QtMoc>

     <QtMoc Include="photoboothwidget.h">

     </QtMoc>

+    <QtMoc Include="invitebuttonswidget.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

+    </QtMoc>

     <ClInclude Include="lrcinstance.h" />

+    <QtMoc Include="messagemodel.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Define>

+    </QtMoc>

     <ClInclude Include="pixbufmanipulator.h" />

     <QtMoc Include="qualitydialog.h">

     </QtMoc>

-    <QtMoc Include="quickactcontactrequestwidget.h">

-    </QtMoc>

     <QtMoc Include="ringbutton.h">

     </QtMoc>

     <QtMoc Include="ringcontactlineedit.h">

@@ -312,9 +241,25 @@
     <QtMoc Include="sendcontactrequestwidget.h">

     </QtMoc>

     <ClInclude Include="settingskey.h" />

-    <QtMoc Include="smartlist.h">

+    <QtMoc Include="smartlistview.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Define>

     </QtMoc>

-    <QtMoc Include="smartlistdelegate.h">

+    <QtMoc Include="conversationitemdelegate.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

+    </QtMoc>

+    <QtMoc Include="smartlistmodel.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_SVG_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;QT_GUI_LIB;QT_XML_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Define>

+    </QtMoc>

+    <QtMoc Include="conversationsfilterwidget.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

+    </QtMoc>

+    <QtMoc Include="smartlistselectorbuttonnotifier.h">

+      <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>

+      <Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>

     </QtMoc>

     <ClInclude Include="utils.h" />

     <QtMoc Include="videooverlay.h">

@@ -331,10 +276,6 @@
     <CustomBuild Include="debug\moc_predefs.h.cbt">

       <FileType>Document</FileType>

       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>

-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>

-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>

-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>

     </CustomBuild>

     <CustomBuild Include="release\moc_predefs.h.cbt">

       <FileType>Document</FileType>

@@ -342,21 +283,17 @@
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>

       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>

       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>

-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

     </CustomBuild>

     <ClInclude Include="ui_aboutdialog.h" />

     <ClInclude Include="ui_accountdetails.h" />

     <ClInclude Include="ui_bannedcontactswidget.h" />

     <ClInclude Include="ui_callutilsdialog.h" />

     <ClInclude Include="ui_callwidget.h" />

-    <ClInclude Include="ui_combar.h" />

     <ClInclude Include="ui_configurationwidget.h" />

-    <ClInclude Include="ui_contactmethodpicker.h" />

     <ClInclude Include="ui_contactpicker.h" />

     <ClInclude Include="ui_contactrequestwidget.h" />

     <ClInclude Include="ui_currentaccountwidget.h" />

     <ClInclude Include="ui_deleteaccountdialog.h" />

-    <ClInclude Include="ui_deletecontactdialog.h" />

     <ClInclude Include="ui_instantmessagingwidget.h" />

     <ClInclude Include="ui_mainwindow.h" />

     <ClInclude Include="ui_photoboothdialog.h" />

@@ -433,13 +370,10 @@
     <QtUic Include="callutilsdialog.ui">

     </QtUic>

     <QtUic Include="callwidget.ui">

-    </QtUic>

-    <QtUic Include="combar.ui">

+      <SubType>Designer</SubType>

     </QtUic>

     <QtUic Include="configurationwidget.ui">

     </QtUic>

-    <QtUic Include="contactmethodpicker.ui">

-    </QtUic>

     <QtUic Include="contactpicker.ui">

     </QtUic>

     <QtUic Include="contactrequestwidget.ui">

@@ -448,10 +382,9 @@
     </QtUic>

     <QtUic Include="deleteaccountdialog.ui">

     </QtUic>

-    <QtUic Include="deletecontactdialog.ui">

-    </QtUic>

     <QtUic Include="instantmessagingwidget.ui">

     </QtUic>

+    <QtUic Include="invitebuttonswidget.ui" />

     <QtUic Include="mainwindow.ui">

     </QtUic>

     <QtUic Include="photoboothdialog.ui">