/**************************************************************** * RetroShare is distributed under the following license: * * Copyright (C) 2008 Robert Fernie * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. ****************************************************************/ #include "common/vmessagebox.h" #include "AddLinksDialog.h" #include "RetroShareLinkAnalyzer.h" #include "rsiface/rsrank.h" /* Images for context menu icons */ #define IMAGE_EXPORTFRIEND ":/images/exportpeers_16x16.png" #define IMAGE_GREAT ":/images/filerating5.png" #define IMAGE_GOOD ":/images/filerating4.png" #define IMAGE_OK ":/images/filerating3.png" #define IMAGE_SUX ":/images/filerating2.png" #define IMAGE_BADLINK ":/images/filerating1.png" /** Constructor */ AddLinksDialog::AddLinksDialog(QString url, QWidget *parent) : QDialog(parent) { /* Invoke the Qt Designer generated object setup routine */ ui.setupUi(this); /* add button */ connect(ui.addLinkButton, SIGNAL(clicked()), this, SLOT(addLinkComment())); connect(ui.closepushButton, SIGNAL(clicked()), this, SLOT(close())); ui.linkLineEdit->setReadOnly(true); ui.linkLineEdit->setText(url); RetroShareLinkAnalyzer analyzer(url); QVector linkList; analyzer.getFileInformation(linkList); if (!linkList.isEmpty()) { /* set title as first name from list */ RetroShareLinkData item = linkList.first(); ui.titleLineEdit->setText(item.getName()); } else { ui.titleLineEdit->setText("New File"); } /* Hide platform specific features */ #ifdef Q_WS_WIN #endif } int AddLinksDialog::IndexToScore(int index) { if ((index == -1) || (index > 4)) return 0; int score = 2 - index; return score; } void AddLinksDialog::addLinkComment() { /* get the title / link / comment */ QString title = ui.titleLineEdit->text(); QString link = ui.linkLineEdit->text(); QString comment = ui.linkTextEdit->toPlainText(); int32_t score = AddLinksDialog::IndexToScore(ui.scoreBox->currentIndex()); if ((link == "") || (title == "")) { QMessageBox::StandardButton sb = QMessageBox::warning(NULL, "Add Link Failure", "Missing Link and/or Title", QMessageBox::Ok); /* can't do anything */ return; } /* add it either way */ if (ui.anonBox->isChecked()) { rsRanks->anonRankMsg("", link.toStdWString(), title.toStdWString()); } else { rsRanks->newRankMsg(link.toStdWString(), title.toStdWString(), comment.toStdWString(), score); } close(); }