Files
QsLog
YACReader
YACReaderLibrary
comic_vine
model
api_key_dialog.cpp
api_key_dialog.h
comic_vine.pri
comic_vine_all_volume_comics_retriever.cpp
comic_vine_all_volume_comics_retriever.h
comic_vine_client.cpp
comic_vine_client.h
comic_vine_dialog.cpp
comic_vine_dialog.h
scraper_lineedit.cpp
scraper_lineedit.h
scraper_results_paginator.cpp
scraper_results_paginator.h
scraper_scroll_label.cpp
scraper_scroll_label.h
scraper_selector.cpp
scraper_selector.h
scraper_tableview.cpp
scraper_tableview.h
search_single_comic.cpp
search_single_comic.h
search_volume.cpp
search_volume.h
select_comic.cpp
select_comic.h
select_volume.cpp
select_volume.h
series_question.cpp
series_question.h
sort_volume_comics.cpp
sort_volume_comics.h
title_header.cpp
title_header.h
db
qml
server
YACReaderLibrary.icns
YACReaderLibrary.pro
add_label_dialog.cpp
add_label_dialog.h
add_library_dialog.cpp
add_library_dialog.h
bundle_creator.cpp
bundle_creator.h
classic_comics_view.cpp
classic_comics_view.h
comic_files_manager.cpp
comic_files_manager.h
comic_flow.cpp
comic_flow.h
comic_flow_widget.cpp
comic_flow_widget.h
comics_remover.cpp
comics_remover.h
comics_view.cpp
comics_view.h
comics_view_transition.cpp
comics_view_transition.h
create_library_dialog.cpp
create_library_dialog.h
db_helper.cpp
db_helper.h
empty_container_info.cpp
empty_container_info.h
empty_folder_widget.cpp
empty_folder_widget.h
empty_label_widget.cpp
empty_label_widget.h
empty_reading_list_widget.cpp
empty_reading_list_widget.h
empty_special_list.cpp
empty_special_list.h
export_comics_info_dialog.cpp
export_comics_info_dialog.h
export_library_dialog.cpp
export_library_dialog.h
files.qrc
grid_comics_view.cpp
grid_comics_view.h
icon.ico
icon.rc
icon2.ico
icon3.ico
images.qrc
images_osx.qrc
images_win.qrc
import_comics_info_dialog.cpp
import_comics_info_dialog.h
import_library_dialog.cpp
import_library_dialog.h
import_widget.cpp
import_widget.h
info_comics_view.cpp
info_comics_view.h
library_creator.cpp
library_creator.h
library_window.cpp
library_window.h
main.cpp
no_libraries_widget.cpp
no_libraries_widget.h
no_search_results_widget.cpp
no_search_results_widget.h
options_dialog.cpp
options_dialog.h
package_manager.cpp
package_manager.h
properties_dialog.cpp
properties_dialog.h
qml.qrc
qml_osx.qrc
qml_win.qrc
rename_library_dialog.cpp
rename_library_dialog.h
server_config_dialog.cpp
server_config_dialog.h
yacreader_comic_info_helper.cpp
yacreader_comic_info_helper.h
yacreader_comics_selection_helper.cpp
yacreader_comics_selection_helper.h
yacreader_comics_views_manager.cpp
yacreader_comics_views_manager.h
yacreader_folders_view.cpp
yacreader_folders_view.h
yacreader_history_controller.cpp
yacreader_history_controller.h
yacreader_libraries.cpp
yacreader_libraries.h
yacreader_local_server.cpp
yacreader_local_server.h
yacreader_main_toolbar.cpp
yacreader_main_toolbar.h
yacreader_navigation_controller.cpp
yacreader_navigation_controller.h
yacreader_reading_lists_view.cpp
yacreader_reading_lists_view.h
yacreaderlibrary_de.ts
yacreaderlibrary_es.ts
yacreaderlibrary_fr.ts
yacreaderlibrary_nl.ts
yacreaderlibrary_pt.ts
yacreaderlibrary_ru.ts
yacreaderlibrary_source.ts
yacreaderlibrary_tr.ts
YACReaderLibraryServer
common
compressed_archive
custom_widgets
dependencies
files
images
release
shortcuts_management
tests
CHANGELOG.md
COPYING.txt
INSTALL.md
README.txt
YACReader.1
YACReader.desktop
YACReader.pro
YACReader.svg
YACReaderLibrary.1
YACReaderLibrary.desktop
YACReaderLibrary.svg
background.png
cleanOSX.sh
compileOSX.sh
config.pri
icon.icns
mktarball.sh
releaseOSX.sh
yacreader/YACReaderLibrary/comic_vine/api_key_dialog.cpp
2018-02-26 14:51:38 +01:00

69 lines
2.0 KiB
C++

#include "api_key_dialog.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QSettings>
#include "yacreader_global_gui.h"
ApiKeyDialog::ApiKeyDialog(QWidget *parent) :
QDialog(parent)
{
QVBoxLayout * layout = new QVBoxLayout;
QHBoxLayout * buttonsLayout = new QHBoxLayout;
settings = new QSettings(YACReader::getSettingsPath()+"/YACReaderLibrary.ini",QSettings::IniFormat); //TODO unificar la creación del fichero de config con el servidor
settings->beginGroup("ComicVine");
QLabel * info = new QLabel(tr("Before you can connect to Comic Vine, you need your own API key. Please, get one free <a href=\"http://www.comicvine.com/api/\">here</a>"));
info->setWordWrap(true);
info->setOpenExternalLinks(true);
edit = new QLineEdit();
edit->setPlaceholderText(tr("Paste here your Comic Vine API key"));
connect(edit,SIGNAL(textChanged(QString)),this,SLOT(enableAccept(QString)));
acceptButton = new QPushButton(tr("Accept"));
acceptButton->setDisabled(true);
connect(acceptButton,SIGNAL(clicked()),this,SLOT(saveApiKey()));
cancelButton = new QPushButton(tr("Cancel"));
connect(cancelButton,SIGNAL(clicked()),this,SLOT(reject()));
layout->addWidget(info);
layout->addWidget(edit);
layout->addStretch();
buttonsLayout->addStretch();
buttonsLayout->addWidget(acceptButton);
buttonsLayout->addWidget(cancelButton);
layout->addLayout(buttonsLayout);
setLayout(layout);
resize(400,150);
if(settings->contains(COMIC_VINE_API_KEY))
edit->setText(settings->value(COMIC_VINE_API_KEY).toString());
}
ApiKeyDialog::~ApiKeyDialog()
{
delete settings;
}
void ApiKeyDialog::enableAccept(const QString &text)
{
//TODO key validation
acceptButton->setEnabled(!text.isEmpty());
}
void ApiKeyDialog::saveApiKey()
{
settings->setValue(COMIC_VINE_API_KEY,edit->text().trimmed());
accept();
}