Skip to content

Commit

Permalink
SettingsDialog. (#14)
Browse files Browse the repository at this point in the history
* New SettingsDialog
* Add content of other panes to SettingsDialog
* Add CertificateDetails dialog

Signed-off-by: Hando Soonpuu <hando.nali@mail.ee>
  • Loading branch information
HandoSoonpuu authored and uudisaru committed Oct 6, 2017
1 parent 8179ea5 commit f26263a
Show file tree
Hide file tree
Showing 13 changed files with 3,108 additions and 10 deletions.
12 changes: 7 additions & 5 deletions client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/common ${OPENSSL_IN
configure_file( translations/tr.qrc tr.qrc COPYONLY )
qt5_add_translation( SOURCES translations/en.ts translations/et.ts translations/ru.ts )
qt5_add_resources( SOURCES images/images.qrc fonts/fonts.qrc ${CMAKE_CURRENT_BINARY_DIR}/tr.qrc ${CMAKE_CURRENT_BINARY_DIR}/TSL.qrc )
qt5_wrap_ui( SOURCES MainWindow.ui dialogs/AddRecipients.ui dialogs/FirstRun.ui dialogs/PinPopup.ui dialogs/PinUnblock.ui widgets/Accordion.ui widgets/AccordionTitle.ui
widgets/AddressItem.ui widgets/CardWidget.ui widgets/ContainerPage.ui widgets/FileItem.ui widgets/InfoStack.ui widgets/ItemList.ui widgets/MainAction.ui
dialogs/MobileDialog.ui widgets/NoCardInfo.ui widgets/OtherData.ui widgets/PageIcon.ui widgets/SignatureItem.ui widgets/VerifyCert.ui )
qt5_wrap_ui( SOURCES MainWindow.ui dialogs/AddRecipients.ui dialogs/CertificateDetails.ui dialogs/FirstRun.ui dialogs/PinPopup.ui dialogs/PinUnblock.ui dialogs/SettingsDialog.ui
widgets/Accordion.ui widgets/AccordionTitle.ui widgets/AddressItem.ui widgets/CardWidget.ui widgets/ContainerPage.ui widgets/FileItem.ui widgets/InfoStack.ui
widgets/ItemList.ui widgets/MainAction.ui dialogs/MobileDialog.ui widgets/NoCardInfo.ui widgets/OtherData.ui widgets/PageIcon.ui widgets/SignatureItem.ui widgets/VerifyCert.ui )

if( APPLE )
list( APPEND SOURCES Application_mac.mm )
Expand Down Expand Up @@ -47,10 +47,12 @@ add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE
XmlReader.cpp
common4/TokenData4.cpp
dialogs/AddRecipients.cpp
dialogs/CertificateDetails.cpp
dialogs/FirstRun.cpp
dialogs/MobileDialog.cpp
dialogs/PinPopup.cpp
dialogs/PinUnblock.cpp
dialogs/SettingsDialog.cpp
effects/ButtonHoverFilter.cpp
effects/FadeInNotification.cpp
effects/HoverFilter.cpp
Expand Down Expand Up @@ -112,9 +114,9 @@ if( APPLE )
COMMAND find $<TARGET_FILE_DIR:${PROGNAME}>/../Frameworks -name Headers | xargs rm -rf
COMMAND find $<TARGET_FILE_DIR:${PROGNAME}>/../Frameworks -name 'TEST*.crt' -delete
COMMAND install_name_tool -delete_rpath /Library/Frameworks $<TARGET_FILE:${PROGNAME}>
COMMAND install_name_tool -change /Library/EstonianIDCard/lib/libssl.1.0.0.dylib @loader_path/../../../libssl.1.0.0.dylib
COMMAND install_name_tool -change /Library/EstonianIDCard/lib/libssl.1.0.0.dylib @loader_path/../../../libssl.1.0.0.dylib
${CMAKE_CURRENT_BINARY_DIR}/${PROGNAME}.app/Contents/Frameworks/libdigidoc.framework/Versions/2/libdigidoc
COMMAND install_name_tool -change /Library/EstonianIDCard/lib/libcrypto.1.0.0.dylib @loader_path/../../../libcrypto.1.0.0.dylib
COMMAND install_name_tool -change /Library/EstonianIDCard/lib/libcrypto.1.0.0.dylib @loader_path/../../../libcrypto.1.0.0.dylib
${CMAKE_CURRENT_BINARY_DIR}/${PROGNAME}.app/Contents/Frameworks/libdigidoc.framework/Versions/2/libdigidoc
)
add_custom_target( codesign DEPENDS ${PROGNAME}
Expand Down
9 changes: 5 additions & 4 deletions client/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "effects/FadeInNotification.h"
#include "effects/ButtonHoverFilter.h"
#include "dialogs/AddRecipients.h"
#include "dialogs/SettingsDialog.h"
#include "dialogs/FirstRun.h"
#include "util/FileUtil.h"

Expand Down Expand Up @@ -158,15 +159,15 @@ void MainWindow::buttonClicked( int button )
//showWarning( "Not implemented yet" );
FirstRun dlg(this);
dlg.exec();
}
break;
}
case HeadSettings:
{
// qApp->showSettings();
showNotification( "Not implemented yet" );
SettingsDialog dlg(this);
dlg.exec();
break;
}
default:
default:
break;
}
}
Expand Down
89 changes: 89 additions & 0 deletions client/dialogs/CertificateDetails.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/*
* QDigiDoc4
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/


#include "CertificateDetails.h"
#include "ui_CertificateDetails.h"
#include "effects/Overlay.h"
#include "Styles.h"

CertificateDetails::CertificateDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::CertificateDetails)
{
ui->setupUi(this);
setWindowFlags( Qt::Dialog | Qt::FramelessWindowHint );
setWindowModality( Qt::ApplicationModal );

QFont headerFont = Styles::font( Styles::Regular, 18 );
QFont regularFont = Styles::font( Styles::Regular, 14 );

ui->lblCertInfo->setFont(headerFont);
ui->lblCertDetails->setFont(headerFont);

ui->lblCertPurpose->setFont(regularFont);
ui->valCertPurpose->setFont(regularFont);
ui->lblCertIssuedTo->setFont(regularFont);
ui->valCertIssuedTo->setFont(regularFont);
ui->lblCertIssuer->setFont(regularFont);
ui->valCertIssuer->setFont(regularFont);
ui->lblCertValid->setFont(regularFont);
ui->valCertValidFrom->setFont(regularFont);
ui->valCertValidUntil->setFont(regularFont);

ui->tblDetails->setFont(regularFont);


connect( ui->close, &QPushButton::clicked, this, &CertificateDetails::accept );
connect( this, &CertificateDetails::finished, this, &CertificateDetails::close );

QStringList horzHeaders;
horzHeaders << "Väli" << "Väärtus";
ui->tblDetails->setHorizontalHeaderLabels(horzHeaders);

ui->tblDetails->setItem(0, 0, new QTableWidgetItem("Version"));
ui->tblDetails->setItem(0, 1, new QTableWidgetItem("V3"));
ui->tblDetails->setItem(1, 0, new QTableWidgetItem("Seerianumber"));
ui->tblDetails->setItem(1, 1, new QTableWidgetItem("N12 (0x321)"));
ui->tblDetails->setItem(2, 0, new QTableWidgetItem("Signatuuri algoritm"));
ui->tblDetails->setItem(2, 1, new QTableWidgetItem("sha1WithRSAEncryption"));
ui->tblDetails->setItem(3, 0, new QTableWidgetItem("Välja andja"));
ui->tblDetails->setItem(3, 1, new QTableWidgetItem("EE, SK services"));
ui->tblDetails->setItem(4, 0, new QTableWidgetItem("Kehtib alates"));
ui->tblDetails->setItem(4, 1, new QTableWidgetItem("01.03.2013 14:12:44 +02:00"));
ui->tblDetails->setItem(5, 0, new QTableWidgetItem("Subjekt"));
ui->tblDetails->setItem(5, 1, new QTableWidgetItem("01.03.2013 14:12:44 +02:00"));
ui->tblDetails->setItem(6, 0, new QTableWidgetItem("Avalik võti"));
ui->tblDetails->setItem(6, 1, new QTableWidgetItem("RSA (1024)"));
}

CertificateDetails::~CertificateDetails()
{
delete ui;
}

int CertificateDetails::exec()
{
Overlay overlay( parentWidget() );
overlay.show();
auto rc = QDialog::exec();
overlay.close();

return rc;
}
40 changes: 40 additions & 0 deletions client/dialogs/CertificateDetails.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* QDigiDoc4
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/

#pragma once

#include <QDialog>

namespace Ui {
class CertificateDetails;
}

class CertificateDetails : public QDialog
{
Q_OBJECT

public:
explicit CertificateDetails(QWidget *parent = 0);
~CertificateDetails();

int exec() override;

private:
Ui::CertificateDetails *ui;
};
Loading

0 comments on commit f26263a

Please sign in to comment.