fixed conflicts with upstream/master

This commit is contained in:
csoler 2021-12-19 21:10:15 +01:00
commit 4a76fddaa9
186 changed files with 6793 additions and 5999 deletions

View file

@ -21,6 +21,7 @@
#include <QColorDialog>
#include <QDesktopServices>
#include <QIcon>
#include <QInputDialog>
#include <QMessageBox>
#include <QPixmap>
#include <QStatusBar>
@ -1689,3 +1690,19 @@ void MainWindow::setCompactStatusMode(bool compact)
ratesstatus->setCompactMode(compact);
//opModeStatus: TODO Show only ???
}
Gui_InputDialogReturn MainWindow::guiInputDialog(const QString& windowTitle, const QString& labelText, QLineEdit::EchoMode textEchoMode, bool modal)
{
QInputDialog dialog(this);
dialog.setWindowTitle(windowTitle);
dialog.setLabelText(labelText);
dialog.setTextEchoMode(textEchoMode);
dialog.setModal(modal);
Gui_InputDialogReturn ret;
ret.execReturn = dialog.exec();
ret.textValue = dialog.textValue();
return ret;
}

View file

@ -21,6 +21,7 @@
#ifndef _MainWindow_H
#define _MainWindow_H
#include <QLineEdit>
#include <QSystemTrayIcon>
#include <set>
@ -74,6 +75,14 @@ class MessengerWindow;
class ApplicationWindow;
#endif
struct Gui_InputDialogReturn
{
int execReturn;
QString textValue;
};
Q_DECLARE_METATYPE(Gui_InputDialogReturn);
class MainWindow : public RWindow
{
Q_OBJECT
@ -192,7 +201,7 @@ public:
}
static bool hiddenmode;
public slots:
void receiveNewArgs(QStringList args);
void displayErrorMessage(int,int,const QString&) ;
@ -210,9 +219,35 @@ public slots:
void showBandwidthGraph();
void toggleStatusToolTip(bool toggle);
/**
* @brief Create a QInputDialog. This must be called in MainWindow thread because Widgets must be created in the GUI thread.
* Here an exemple how to call it:
*
* bool sameThread = QThread::currentThread() == qApp->thread();
* Gui_InputDialogReturn ret;
* qRegisterMetaType<Gui_InputDialogReturn>("Gui_InputDialogReturn");
* QMetaObject::invokeMethod( MainWindow::getInstance()
* , "guiInputDialog"
* , sameThread ? Qt::DirectConnection : Qt::BlockingQueuedConnection
* , Q_RETURN_ARG(Gui_InputDialogReturn, ret)
* , Q_ARG(QString, windowTitle)
* , Q_ARG(QString, labelText)
* , Q_ARG(QLineEdit::EchoMode, textEchoMode)
* , Q_ARG(bool, modal)
* );
*
* @param windowTitle: the window title (caption).
* @param labelText: label's text which describes what needs to be input.
* @param textEchoMode: the echo mode for the text value.
* @param modal: pop up the dialog as modal or modeless.
* @return Gui_InputDialogReturn ( Accepted(1)|Rejected(0), text value for the input dialog)
*/
Gui_InputDialogReturn guiInputDialog(const QString& windowTitle, const QString& labelText, QLineEdit::EchoMode textEchoMode, bool modal);
protected:
/** Default Constructor */
MainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0);
MainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
void closeEvent(QCloseEvent *);

View file

@ -122,14 +122,14 @@ void BoardPostDisplayWidgetBase::setReadStatus(bool isNew, bool isUnread)
void BoardPostDisplayWidget_compact::doExpand(bool e)
{
#ifdef DEBUG_BOARDPOSTDISPLAYWIDGET
std::cerr << "Expanding" << std::endl;
std::cerr << "Expanding" << std::endl;
#endif
if(e)
ui->frame_notes->show();
else
ui->frame_notes->hide();
if(e)
ui->frame_notes->show();
else
ui->frame_notes->hide();
emit expand(mPost.mMeta.mMsgId,e);
emit expand(mPost.mMeta.mMsgId,e);
}
void BoardPostDisplayWidgetBase::loadComments(bool e)
@ -144,7 +144,7 @@ void BoardPostDisplayWidgetBase::readToggled()
emit changeReadStatusRequested(mPost.mMeta.mMsgId,s);
}
void BoardPostDisplayWidgetBase::setup()
void BoardPostDisplayWidgetBase::baseSetup()
{
// show/hide things based on the view type
@ -166,8 +166,6 @@ void BoardPostDisplayWidgetBase::setup()
QAction *CopyLinkAction = new QAction(QIcon(""),tr("Copy RetroShare Link"), this);
connect(CopyLinkAction, SIGNAL(triggered()), this, SLOT(handleCopyLinkClicked()));
int S = QFontMetricsF(font()).height() ;
readButton()->setChecked(false);
QMenu *menu = new QMenu();
@ -184,6 +182,7 @@ void BoardPostDisplayWidgetBase::setup()
if(redacted)
{
commentButton()->setDisabled(true);
shareButton()->setDisabled(true);
voteUpButton()->setDisabled(true);
voteDownButton()->setDisabled(true);
fromLabel()->setId(mPost.mMeta.mAuthorId);
@ -196,8 +195,6 @@ void BoardPostDisplayWidgetBase::setup()
}
else
{
QPixmap sqpixmap2 = FilesDefs::getPixmapFromQtResourcePath(":/images/thumb-default.png");
QDateTime qtime;
qtime.setTime_t(mPost.mMeta.mPublishTs);
QString timestamp = qtime.toString("hh:mm dd-MMM-yyyy");
@ -295,16 +292,7 @@ BoardPostDisplayWidget_compact::BoardPostDisplayWidget_compact(const RsPostedPos
: BoardPostDisplayWidgetBase(post,display_flags,parent), ui(new Ui::BoardPostDisplayWidget_compact())
{
ui->setupUi(this);
setup();
ui->right_VL->addStretch();
ui->right_VL->setAlignment(Qt::AlignTop);
ui->topLayout->setAlignment(Qt::AlignTop);
ui->arrowsLayout->addStretch();
ui->arrowsLayout->setAlignment(Qt::AlignTop);
ui->feedFrame_VL->addStretch();
adjustSize();
BoardPostDisplayWidget_compact::setup();
}
BoardPostDisplayWidget_compact::~BoardPostDisplayWidget_compact()
@ -314,7 +302,7 @@ BoardPostDisplayWidget_compact::~BoardPostDisplayWidget_compact()
void BoardPostDisplayWidget_compact::setup()
{
BoardPostDisplayWidgetBase::setup();
baseSetup();
// show/hide things based on the view type
@ -356,7 +344,7 @@ void BoardPostDisplayWidget_compact::setup()
QObject::connect(ui->expandButton, SIGNAL(toggled(bool)), this, SLOT(doExpand(bool)));
QTextDocument doc;
doc.setHtml(notes()->text());
doc.setHtml(BoardPostDisplayWidget_compact::notes()->text());
if(mDisplayFlags & SHOW_NOTES)
{
@ -427,16 +415,7 @@ BoardPostDisplayWidget_card::BoardPostDisplayWidget_card(const RsPostedPost& pos
: BoardPostDisplayWidgetBase(post,display_flags,parent), ui(new Ui::BoardPostDisplayWidget_card())
{
ui->setupUi(this);
setup();
ui->right_VL->addStretch();
ui->right_VL->setAlignment(Qt::AlignTop);
ui->topLayout->setAlignment(Qt::AlignTop);
ui->arrowsLayout->addStretch();
ui->arrowsLayout->setAlignment(Qt::AlignTop);
ui->feedFrame_VL->addStretch();
adjustSize();
BoardPostDisplayWidget_card::setup();
}
BoardPostDisplayWidget_card::~BoardPostDisplayWidget_card()
@ -446,7 +425,7 @@ BoardPostDisplayWidget_card::~BoardPostDisplayWidget_card()
void BoardPostDisplayWidget_card::setup()
{
BoardPostDisplayWidgetBase::setup();
baseSetup();
RsReputationLevel overall_reputation = rsReputations->overallReputationLevel(mPost.mMeta.mAuthorId);
bool redacted = (overall_reputation == RsReputationLevel::LOCALLY_NEGATIVE);
@ -463,7 +442,6 @@ void BoardPostDisplayWidget_card::setup()
GxsIdDetails::loadPixmapFromData(mPost.mImage.mData, mPost.mImage.mSize, pixmap,GxsIdDetails::ORIGINAL);
// Wiping data - as its been passed to thumbnail.
QPixmap scaledpixmap;
if(pixmap.width() > 800){
QPixmap scaledpixmap = pixmap.scaledToWidth(800, Qt::SmoothTransformation);
ui->pictureLabel->setPixmap(scaledpixmap);
@ -478,10 +456,10 @@ void BoardPostDisplayWidget_card::setup()
}
QTextDocument doc;
doc.setHtml(notes()->text());
doc.setHtml(BoardPostDisplayWidget_card::notes()->text());
if(doc.toPlainText().trimmed().isEmpty())
notes()->hide();
BoardPostDisplayWidget_card::notes()->hide();
}
QToolButton *BoardPostDisplayWidget_card::voteUpButton() { return ui->voteUpButton; }

View file

@ -62,10 +62,11 @@ public:
static const char *DEFAULT_BOARD_IMAGE;
protected slots:
protected:
/* GxsGroupFeedItem */
virtual void setup(); // to be overloaded by the different views
void baseSetup();
virtual void setup() =0; // to be overloaded by the different views
virtual QToolButton *voteUpButton() =0;
virtual QToolButton *commentButton() =0;
@ -81,6 +82,7 @@ protected slots:
virtual QToolButton *shareButton() =0;
virtual QFrame *feedFrame() =0;
protected slots:
void loadComments(bool e);
void readToggled();
void setReadStatus(bool isNew, bool isUnread) ;

View file

@ -90,7 +90,10 @@
</property>
<item>
<widget class="QFrame" name="voteFrame">
<layout class="QVBoxLayout" name="arrowsLayout">
<layout class="QVBoxLayout" name="voteFrame_VL">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
@ -173,6 +176,13 @@
</property>
</widget>
</item>
<item>
<spacer name="voteFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
@ -277,7 +287,7 @@
</widget>
</item>
<item>
<spacer name="from_HSpacer">
<spacer name="from_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -340,7 +350,7 @@
</widget>
</item>
<item>
<spacer name="pictureLabel_HSpacer">
<spacer name="pictureLabel_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -401,16 +411,16 @@
<iconset resource="Posted_images.qrc">
<normaloff>:/images/share.png</normaloff>:/images/share.png</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="buttons_HSpacer">
<spacer name="buttons_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -424,10 +434,30 @@
</item>
</layout>
</item>
<item>
<spacer name="right_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="feedFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
</layout>
</widget>
</item>

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>542</width>
<height>150</height>
<height>151</height>
</rect>
</property>
<property name="sizePolicy">
@ -90,7 +90,22 @@
</property>
<item>
<widget class="QFrame" name="voteFrame">
<layout class="QVBoxLayout" name="arrowsLayout">
<layout class="QVBoxLayout" name="voteFrame_VL">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="voteUpButton">
<property name="sizePolicy">
@ -161,6 +176,13 @@
</property>
</widget>
</item>
<item>
<spacer name="voteFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
@ -287,7 +309,7 @@
</widget>
</item>
<item>
<spacer name="from_HSpacer">
<spacer name="from_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -305,7 +327,7 @@
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="buttons_HM">
<layout class="QHBoxLayout" name="buttons_HL">
<item>
<widget class="QToolButton" name="commentButton">
<property name="text">
@ -400,7 +422,7 @@
</widget>
</item>
<item>
<spacer name="buttons_HSpacer">
<spacer name="buttons_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -414,6 +436,13 @@
</item>
</layout>
</item>
<item>
<spacer name="right_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
@ -473,6 +502,13 @@
</layout>
</widget>
</item>
<item>
<spacer name="feedFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
</layout>
</widget>
</item>

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>614</width>
<height>182</height>
<height>198</height>
</rect>
</property>
<property name="windowTitle">
@ -16,7 +16,7 @@
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<layout class="QGridLayout" name="PostedCardView_GL">
<property name="leftMargin">
<number>0</number>
</property>
@ -118,7 +118,7 @@
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QHBoxLayout" name="from_HL">
<property name="spacing">
<number>5</number>
</property>
@ -216,7 +216,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<spacer name="from_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -241,30 +241,27 @@
<height>0</height>
</size>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="voteFrame_VL">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>3</number>
<number>0</number>
</property>
<property name="topMargin">
<number>3</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>3</number>
<number>0</number>
</property>
<property name="bottomMargin">
<number>3</number>
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="voteUpButton">
@ -337,26 +334,20 @@
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="voteFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="5" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="buttons_HL">
<item>
<widget class="QToolButton" name="commentButton">
<property name="text">
@ -389,7 +380,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<spacer name="buttons_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -461,7 +452,7 @@
</item>
<item row="4" column="1">
<widget class="QFrame" name="picture_frame">
<layout class="QHBoxLayout" name="horizontalPictureLayout">
<layout class="QHBoxLayout" name="picture_frame_HL">
<property name="leftMargin">
<number>0</number>
</property>
@ -485,7 +476,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="picture_frame_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -513,9 +504,9 @@
</customwidget>
</customwidgets>
<resources>
<include location="../images.qrc"/>
<include location="../icons.qrc"/>
<include location="Posted_images.qrc"/>
<include location="../icons.qrc"/>
<include location="../images.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -41,9 +41,12 @@
#include "gui/common/FilesDefs.h"
/* View Page */
#define VIEW_POST 1
#define VIEW_IMAGE 2
#define VIEW_LINK 3
#define VIEW_POST 0
#define VIEW_IMAGE 1
#define VIEW_LINK 2
/* View Image */
#define IMG_ATTACH 0
#define IMG_PICTURE 1
PostedCreatePostDialog::PostedCreatePostDialog(RsPosted *posted, const RsGxsGroupId& grpId, const RsGxsId& default_author, QWidget *parent):
QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint),
@ -54,7 +57,6 @@ PostedCreatePostDialog::PostedCreatePostDialog(RsPosted *posted, const RsGxsGrou
Settings->loadWidgetInformation(this);
connect(ui->postButton, SIGNAL(clicked()), this, SLOT(createPost()));
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
connect(ui->addPicButton, SIGNAL(clicked() ), this , SLOT(addPicture()));
connect(ui->RichTextEditWidget, SIGNAL(textSizeOk(bool)),ui->postButton, SLOT(setEnabled(bool)));
@ -84,6 +86,7 @@ PostedCreatePostDialog::PostedCreatePostDialog(RsPosted *posted, const RsGxsGrou
connect(signalMapper, SIGNAL(mapped(int)), this, SLOT(setPage(int)));
ui->removeButton->hide();
ui->stackedWidgetPicture->setCurrentIndex(IMG_ATTACH);
/* load settings */
processSettings(true);
@ -202,7 +205,6 @@ void PostedCreatePostDialog::addPicture()
// select a picture file
if (misc::getOpenFileName(window(), RshareSettings::LASTDIR_IMAGES, tr("Load Picture File"), "Pictures (*.png *.xpm *.jpg *.jpeg *.gif *.webp )", imagefilename)) {
QString encodedImage;
QImage image;
if (image.load(imagefilename) == false) {
fprintf (stderr, "RsHtml::makeEmbeddedImage() - image \"%s\" can't be load\n", imagefilename.toLatin1().constData());
@ -213,7 +215,7 @@ void PostedCreatePostDialog::addPicture()
QImage opt;
if(ImageUtil::optimizeSizeBytes(imagebytes, image, opt, 640*480, MAXMESSAGESIZE - 2000)) { //Leave space for other stuff
ui->imageLabel->setPixmap(QPixmap::fromImage(opt));
ui->stackedWidgetPicture->setCurrentIndex(1);
ui->stackedWidgetPicture->setCurrentIndex(IMG_PICTURE);
ui->removeButton->show();
} else {
imagefilename = "";
@ -259,45 +261,24 @@ int PostedCreatePostDialog::viewMode()
void PostedCreatePostDialog::setPage(int viewMode)
{
switch (viewMode) {
case VIEW_POST:
ui->stackedWidget->setCurrentIndex(0);
if( (viewMode < 0) || (viewMode > ui->stackedWidget->count()-1) )
viewMode = VIEW_POST;
ui->viewPostButton->setChecked(true);
ui->viewImageButton->setChecked(false);
ui->viewLinkButton->setChecked(false);
ui->stackedWidget->setCurrentIndex(viewMode);
break;
case VIEW_IMAGE:
ui->stackedWidget->setCurrentIndex(1);
ui->viewPostButton ->setChecked(viewMode==VIEW_POST);
ui->viewImageButton->setChecked(viewMode==VIEW_IMAGE);
ui->viewLinkButton ->setChecked(viewMode==VIEW_LINK);
ui->viewImageButton->setChecked(true);
ui->viewPostButton->setChecked(false);
ui->viewLinkButton->setChecked(false);
break;
case VIEW_LINK:
ui->stackedWidget->setCurrentIndex(2);
ui->viewLinkButton->setChecked(true);
ui->viewPostButton->setChecked(false);
ui->viewImageButton->setChecked(false);
break;
default:
setPage(VIEW_POST);
return;
}
}
void PostedCreatePostDialog::on_removeButton_clicked()
{
imagefilename = "";
imagebytes.clear();
QPixmap empty;
ui->imageLabel->setPixmap(empty);
ui->imageLabel->setPixmap(QPixmap());
ui->removeButton->hide();
ui->stackedWidgetPicture->setCurrentIndex(0);
ui->stackedWidgetPicture->setCurrentIndex(IMG_ATTACH);
}
void PostedCreatePostDialog::reject()

View file

@ -52,7 +52,7 @@ private slots:
void addPicture();
void on_removeButton_clicked();
void fileHashingFinished(QList<HashedFile> hashedFiles);
void reject();
void reject() override; //QDialog
void setPage(int viewMode);
private:

View file

@ -143,7 +143,7 @@
<item row="0" column="1">
<widget class="QStackedWidget" name="stackedWidgetPicture">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="PageAttach">
<layout class="QGridLayout" name="PageAttach_GL">

View file

@ -16,7 +16,7 @@
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<layout class="QGridLayout" name="PostedItem_GL">
<property name="leftMargin">
<number>1</number>
</property>
@ -82,21 +82,21 @@
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="voteFrame_VL">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>3</number>
<number>0</number>
</property>
<property name="topMargin">
<number>3</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>3</number>
<number>0</number>
</property>
<property name="bottomMargin">
<number>3</number>
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="voteUpButton">
@ -169,26 +169,20 @@
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="voteFrame_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="1" rowspan="2">
<layout class="QVBoxLayout" name="verticalLayout_3">
<layout class="QVBoxLayout" name="thumbnail_VL">
<property name="leftMargin">
<number>9</number>
</property>
@ -233,7 +227,7 @@
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<spacer name="thumbnail_VS">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
@ -248,7 +242,7 @@
</layout>
</item>
<item row="0" column="2">
<layout class="QVBoxLayout" name="verticalLayout_4">
<layout class="QVBoxLayout" name="title_VL">
<property name="topMargin">
<number>6</number>
</property>
@ -286,7 +280,7 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="newCommHLayout">
<layout class="QHBoxLayout" name="newComm_HL">
<property name="topMargin">
<number>0</number>
</property>
@ -312,7 +306,7 @@
</layout>
</item>
<item row="1" column="2">
<layout class="QVBoxLayout" name="verticalLayout_2">
<layout class="QVBoxLayout" name="from_VL">
<property name="spacing">
<number>0</number>
</property>
@ -320,7 +314,7 @@
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QHBoxLayout" name="from_HL">
<property name="spacing">
<number>5</number>
</property>
@ -416,7 +410,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<spacer name="from_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -434,7 +428,7 @@
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="buttonHLayout">
<layout class="QHBoxLayout" name="buttons_HL">
<property name="spacing">
<number>6</number>
</property>
@ -567,7 +561,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="buttons_HS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -631,9 +625,9 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="frame_picture_HL">
<item>
<spacer name="horizontalSpacer_2">
<spacer name="frame_picture_LHS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -659,7 +653,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<spacer name="frame_picture_RHS">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -685,7 +679,7 @@
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="frame_notes_GL">
<property name="leftMargin">
<number>3</number>
</property>
@ -726,17 +720,17 @@
</layout>
</widget>
<customwidgets>
<customwidget>
<class>GxsIdLabel</class>
<extends>QLabel</extends>
<header>gui/gxs/GxsIdLabel.h</header>
</customwidget>
<customwidget>
<class>ElidedLabel</class>
<extends>QLabel</extends>
<header>gui/common/ElidedLabel.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>GxsIdLabel</class>
<extends>QLabel</extends>
<header>gui/gxs/GxsIdLabel.h</header>
</customwidget>
<customwidget>
<class>ClickableLabel</class>
<extends>QLabel</extends>

View file

@ -58,9 +58,7 @@
// number of posts to show at once.
#define POSTS_CHUNK_SIZE 25
/****
* #define DEBUG_POSTED
***/
//#define DEBUG_POSTED
static const int POSTED_TABS_POSTS = 1;
@ -87,8 +85,12 @@ std::ostream& operator<<(std::ostream& o,const QSize& s) { return o << s.width()
void PostedPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
{
#ifdef DEBUG_POSTED
if(option.state & QStyle::State_Selected) RS_DBG("Selected");
#endif
if((option.state & QStyle::State_Selected)) // Avoids double display. The selected widget is never exactly the size of the rendered one,
return; // so when selected, we only draw the selected one.
return; // so when selected, we only draw the selected one.
// prepare
painter->save();
@ -98,7 +100,7 @@ void PostedPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
painter->save();
painter->fillRect( option.rect, option.palette.background());
painter->fillRect( option.rect, option.palette.window());
painter->restore();
QPixmap pixmap(option.rect.size());
@ -109,9 +111,9 @@ void PostedPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
BoardPostDisplayWidget_compact w(post,displayFlags(post.mMeta.mMsgId),nullptr);
w.setFixedSize(option.rect.size());
w.updateGeometry();
w.adjustSize();
w.render(&pixmap,QPoint(0,0),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background
}
else
@ -121,6 +123,7 @@ void PostedPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
w.setFixedSize(option.rect.size());
w.updateGeometry();
w.adjustSize();
w.render(&pixmap,QPoint(0,0),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background
}
@ -145,6 +148,10 @@ void PostedPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
painter->save();
painter->drawPixmap(option.rect.topLeft(), pixmap /*,.scaled(option.rect.width(),option.rect.width()*w.height()/(float)w.width(),Qt::KeepAspectRatio,Qt::SmoothTransformation)*/);
#ifdef DEBUG_POSTED
painter->drawText(option.rect.bottomLeft(),QString::number(time(nullptr)));
RS_DBG("DisplayMode=", mDisplayMode == BoardPostDisplayWidget_compact::DISPLAY_MODE_COMPACT? "Compact":"Card", " Title:", post.mMeta.mMsgName.c_str());
#endif
painter->restore();
}
@ -193,40 +200,46 @@ uint8_t PostedPostDelegate::displayFlags(const RsGxsMessageId &id) const
QWidget *PostedPostDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex& index) const
{
RsPostedPost post = index.data(Qt::UserRole).value<RsPostedPost>() ;
if(index.column() == RsPostedPostsModel::COLUMN_POSTS)
{
QWidget *w ;
if (!index.isValid())
return nullptr;
if(mDisplayMode==BoardPostDisplayWidget_compact::DISPLAY_MODE_COMPACT)
w = new BoardPostDisplayWidget_compact(post,displayFlags(post.mMeta.mMsgId),parent);
else
w = new BoardPostDisplayWidget_card(post,displayFlags(post.mMeta.mMsgId),parent);
if(index.column() != RsPostedPostsModel::COLUMN_POSTS)
return nullptr;
QObject::connect(w,SIGNAL(vote(RsGxsGrpMsgIdPair,bool)),mPostListWidget,SLOT(voteMsg(RsGxsGrpMsgIdPair,bool)));
QObject::connect(w,SIGNAL(expand(RsGxsMessageId,bool)),this,SLOT(expandItem(RsGxsMessageId,bool)));
QObject::connect(w,SIGNAL(commentsRequested(const RsGxsMessageId&,bool)),mPostListWidget,SLOT(openComments(const RsGxsMessageId&)));
QObject::connect(w,SIGNAL(changeReadStatusRequested(const RsGxsMessageId&,bool)),mPostListWidget,SLOT(changeReadStatus(const RsGxsMessageId&,bool)));
QWidget *w ;
RsPostedPost post = index.data(Qt::UserRole).value<RsPostedPost>() ;
// All other interactions with the widget should cause the msg to be set as read.
QObject::connect(w,SIGNAL(thumbnailOpenned()),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(vote(RsGxsGrpMsgIdPair,bool)),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(expand(RsGxsMessageId,bool)),this,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(commentsRequested(const RsGxsMessageId&,bool)),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(shareButtonClicked()),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(copylinkClicked()),mPostListWidget,SLOT(copyMessageLink()));
#ifdef DEBUG_POSTED
RS_DBG("Title:", post.mMeta.mMsgName.c_str());
#endif
w->setFixedSize(option.rect.size());
w->adjustSize();
w->updateGeometry();
w->adjustSize();
if(mDisplayMode==BoardPostDisplayWidget_compact::DISPLAY_MODE_COMPACT)
w = new BoardPostDisplayWidget_compact(post,displayFlags(post.mMeta.mMsgId),parent);
else
w = new BoardPostDisplayWidget_card(post,displayFlags(post.mMeta.mMsgId),parent);
return w;
}
else
return NULL;
QObject::connect(w,SIGNAL(vote(RsGxsGrpMsgIdPair,bool)),mPostListWidget,SLOT(voteMsg(RsGxsGrpMsgIdPair,bool)));
QObject::connect(w,SIGNAL(expand(RsGxsMessageId,bool)),this,SLOT(expandItem(RsGxsMessageId,bool)));
QObject::connect(w,SIGNAL(commentsRequested(RsGxsMessageId,bool)),mPostListWidget,SLOT(openComments(RsGxsMessageId)));
QObject::connect(w,SIGNAL(changeReadStatusRequested(RsGxsMessageId,bool)),mPostListWidget,SLOT(changeReadStatus(RsGxsMessageId,bool)));
// All other interactions with the widget should cause the msg to be set as read.
QObject::connect(w,SIGNAL(thumbnailOpenned()),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(vote(RsGxsGrpMsgIdPair,bool)),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(expand(RsGxsMessageId,bool)),this,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(commentsRequested(RsGxsMessageId,bool)),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(shareButtonClicked()),mPostListWidget,SLOT(markCurrentPostAsRead()));
QObject::connect(w,SIGNAL(copylinkClicked()),mPostListWidget,SLOT(copyMessageLink()));
w->setGeometry(option.rect);
w->adjustSize();
w->updateGeometry();
w->adjustSize();
return w;
}
void PostedPostDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &/* index */) const
{
editor->setGeometry(option.rect);
@ -264,13 +277,11 @@ PostedListWidgetWithModel::PostedListWidgetWithModel(const RsGxsGroupId& postedI
connect(ui->nextButton,SIGNAL(clicked()),this,SLOT(nextPosts()));
connect(ui->prevButton,SIGNAL(clicked()),this,SLOT(prevPosts()));
connect(ui->postsTree,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(postContextMenu(const QPoint&)));
connect(ui->postsTree,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(postContextMenu(QPoint)));
connect(ui->viewModeButton,SIGNAL(clicked()),this,SLOT(switchDisplayMode()));
connect(mPostedPostsModel,SIGNAL(boardPostsLoaded()),this,SLOT(postPostLoad()));
QFontMetricsF fm(font());
/* Setup UI helper */
/* Connect signals */
@ -374,23 +385,20 @@ void PostedListWidgetWithModel::filterItems(QString text)
void PostedListWidgetWithModel::nextPosts()
{
ui->postsTree->selectionModel()->clear();
if(mPostedPostsModel->displayedStartPostIndex() + POSTS_CHUNK_SIZE < mPostedPostsModel->filteredPostsCount())
{
mPostedPostsModel->setPostsInterval(POSTS_CHUNK_SIZE+mPostedPostsModel->displayedStartPostIndex(),POSTS_CHUNK_SIZE);
if(mPostedPostsModel->displayedStartPostIndex() + POSTS_CHUNK_SIZE < mPostedPostsModel->filteredPostsCount())
{
mPostedPostsModel->setPostsInterval(POSTS_CHUNK_SIZE+mPostedPostsModel->displayedStartPostIndex(),POSTS_CHUNK_SIZE);
updateShowLabel();
}
}
}
void PostedListWidgetWithModel::prevPosts()
{
ui->postsTree->selectionModel()->clear();
if((int)mPostedPostsModel->displayedStartPostIndex() > 0)
{
mPostedPostsModel->setPostsInterval((int)mPostedPostsModel->displayedStartPostIndex()-POSTS_CHUNK_SIZE,POSTS_CHUNK_SIZE);
updateShowLabel();
}
if((int)mPostedPostsModel->displayedStartPostIndex() > 0)
{
mPostedPostsModel->setPostsInterval((int)mPostedPostsModel->displayedStartPostIndex()-POSTS_CHUNK_SIZE,POSTS_CHUNK_SIZE);
updateShowLabel();
}
}
void PostedListWidgetWithModel::showAuthorInPeople()
@ -490,29 +498,30 @@ void PostedListWidgetWithModel::handleEvent_main_thread(std::shared_ptr<const Rs
switch(e->mPostedEventCode)
{
case RsPostedEventCode::NEW_COMMENT: // [[fallthrough]];
case RsPostedEventCode::NEW_VOTE: // [[fallthrough]];
{
// special treatment here because the message might be a comment, so we need to refresh the comment tab if openned
case RsPostedEventCode::NEW_COMMENT: [[fallthrough]];
case RsPostedEventCode::NEW_VOTE:
{
// special treatment here because the message might be a comment, so we need to refresh the comment tab if openned
for(int i=2;i<ui->tabWidget->count();++i)
{
auto *t = dynamic_cast<GxsCommentDialog*>(ui->tabWidget->widget(i));
for(int i=2;i<ui->tabWidget->count();++i)
{
auto *t = dynamic_cast<GxsCommentDialog*>(ui->tabWidget->widget(i));
if(t->groupId() == e->mPostedGroupId)
t->refresh();
}
}
case RsPostedEventCode::NEW_MESSAGE: // [[fallthrough]];
case RsPostedEventCode::NEW_POSTED_GROUP: // [[fallthrough]];
case RsPostedEventCode::UPDATED_POSTED_GROUP: // [[fallthrough]];
case RsPostedEventCode::UPDATED_MESSAGE:
case RsPostedEventCode::BOARD_DELETED:
case RsPostedEventCode::SYNC_PARAMETERS_UPDATED:
{
if(t->groupId() == e->mPostedGroupId)
t->refresh();
}
}
[[clang::fallthrough]];
case RsPostedEventCode::NEW_MESSAGE: [[fallthrough]];
case RsPostedEventCode::NEW_POSTED_GROUP: [[fallthrough]];
case RsPostedEventCode::UPDATED_POSTED_GROUP: [[fallthrough]];
case RsPostedEventCode::UPDATED_MESSAGE: [[fallthrough]];
case RsPostedEventCode::BOARD_DELETED: [[fallthrough]];
case RsPostedEventCode::SYNC_PARAMETERS_UPDATED:
{
if(e->mPostedGroupId == groupId())
updateDisplay(true);
}
}
default:
break;

View file

@ -251,7 +251,7 @@ p, li { white-space: pre-wrap; }
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -310,7 +310,7 @@ p, li { white-space: pre-wrap; }
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
<pointsize>25</pointsize>
<weight>75</weight>
<italic>true</italic>
<bold>true</bold>

View file

@ -381,7 +381,7 @@ void ChatWidget::init(const ChatId &chat_id, const QString &title)
hist_chat_type = RS_HISTORY_TYPE_PUBLIC;
messageCount = Settings->getPublicChatHistoryCount();
ui->titleBarFrame->setVisible(false);
ui->headerBFrame->setVisible(false);
}
if (rsHistory->getEnable(hist_chat_type))

View file

@ -32,7 +32,7 @@
<enum>QLayout::SetMaximumSize</enum>
</property>
<item>
<widget class="QFrame" name="titleBarFrame">
<widget class="QFrame" name="headerBFrame">
<property name="minimumSize">
<size>
<width>0</width>
@ -51,7 +51,7 @@
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QHBoxLayout" name="titleBarFrameHLayout">
<layout class="QHBoxLayout" name="headerBFrameHLayout">
<property name="leftMargin">
<number>2</number>
</property>

View file

@ -18,42 +18,73 @@
* *
*******************************************************************************/
#include <QPainter>
#include <QResizeEvent>
#include "RSTreeView.h"
RSTreeView::RSTreeView(QWidget *parent) : QTreeView(parent)
#include "util/rsdebug.h"
#include <QPainter>
#include <QResizeEvent>
//#define DEBUG_RSTREEVIEW
RSTreeView::RSTreeView(QWidget *parent)
: QTreeView(parent), autoSelect(false)
{
setMouseTracking(false); // normally the default, but who knows if it's not goign to change in the future.
setMouseTracking(false); // normally the default, but who knows if it's not going to change in the future.
}
void RSTreeView::wheelEvent(QWheelEvent *e)
{
if(e->modifiers() == Qt::ControlModifier)
{
emit zoomRequested(e->delta() > 0);
return;
}
else
QTreeView::wheelEvent(e);
if(e->modifiers() == Qt::ControlModifier)
{
emit zoomRequested(e->angleDelta().y() > 0);
return;
}
else
QTreeView::wheelEvent(e);
}
void RSTreeView::mouseMoveEvent(QMouseEvent *e)
{
QModelIndex idx = indexAt(e->pos());
#ifdef DEBUG_RSTREEVIEW
RS_DBG(e->localPos().x(), ":", e->localPos().y());
#endif
if (autoSelect)
{
QModelIndex idx = indexAt(e->pos());
if(idx.isValid() && idx != selectionModel()->currentIndex())
selectionModel()->setCurrentIndex(idx,QItemSelectionModel::ClearAndSelect);
if(idx.isValid() && idx != selectionModel()->currentIndex())
{
#ifdef DEBUG_RSTREEVIEW
RS_DBG("Selection changed");
#endif
selectionModel()->setCurrentIndex(idx,QItemSelectionModel::ClearAndSelect);
}
}
QTreeView::mouseMoveEvent(e);
QTreeView::mouseMoveEvent(e);
}
void RSTreeView::leaveEvent(QEvent *e)
{
#ifdef DEBUG_RSTREEVIEW
RS_DBG("");
#endif
if (autoSelect)
{
auto fp = focusPolicy();
setFocusPolicy(Qt::NoFocus); // To not select first index when resetting current index.
selectionModel()->setCurrentIndex(QModelIndex(),QItemSelectionModel::Clear); // Close editor
setFocusPolicy(fp);
}
QTreeView::leaveEvent(e);
}
void RSTreeView::setAutoSelect(bool b)
{
if(b)
setMouseTracking(true);
else
setMouseTracking(false);
autoSelect = b; // Keep this because setMouseTracking can be called outside.
setMouseTracking(b);
}
void RSTreeView::resizeEvent(QResizeEvent *e)

View file

@ -29,26 +29,34 @@ class RSTreeView : public QTreeView
Q_OBJECT
public:
RSTreeView(QWidget *parent = 0);
RSTreeView(QWidget *parent = nullptr);
/**
* @brief set Placeholder Text
* @param text
*/
void setPlaceholderText(const QString &text);
// Use this to make selection automatic based on mouse position. This is useful to trigger selection and therefore editing mode
// in trees that show editing widgets using a QStyledItemDelegate
void setAutoSelect(bool b);
/**
* @brief Use this to make selection automatic based on mouse position.
* This is useful to trigger selection and therefore editing mode in trees that show editing widgets using a QStyledItemDelegate.
* @param b
*/
void setAutoSelect(bool b);
signals:
void sizeChanged(QSize);
void zoomRequested(bool zoom_or_unzoom);
void sizeChanged(QSize);
void zoomRequested(bool zoom_or_unzoom);
protected:
virtual void mouseMoveEvent(QMouseEvent *e) override; // overriding so as to manage auto-selection
virtual void leaveEvent(QEvent *e) override; // overriding so as to manage auto-selection clear
virtual void wheelEvent(QWheelEvent *e) override; // overriding so as to manage zoom
virtual void resizeEvent(QResizeEvent *e) override;
virtual void resizeEvent(QResizeEvent *e) override;
virtual void paintEvent(QPaintEvent *event) override;
QString placeholderText;
bool autoSelect;
};
#endif

View file

@ -39,6 +39,7 @@
#include "ConnectFriendWizard.h"
#include "ui_ConnectFriendWizard.h"
#include "gui/common/PeerDefs.h"
#include "gui/connect/ConfCertDialog.h"
#include "gui/notifyqt.h"
#include "gui/common/GroupDefs.h"
#include "gui/msgs/MessageComposer.h"
@ -572,6 +573,16 @@ void ConnectFriendWizard::initializePage(int id)
ui->ipEdit->setText(s);
ui->signersEdit->setPlainText(ts);
ui->knownIpLabel->setHidden(peerDetails.ipAddressList.empty());
ui->knownIpEdit->setHidden(peerDetails.ipAddressList.empty());
{
QString ipList;
for(auto& it : peerDetails.ipAddressList)
ipList.append(QString::fromStdString(it) + "\n");
ui->knownIpEdit->setPlainText(ipList);
}
fillGroups(this, ui->groupComboBox, groupId);
if(peerDetails.isHiddenNode)
@ -587,15 +598,16 @@ void ConnectFriendWizard::initializePage(int id)
}
if(mIsShortInvite)
{
ui->nameEdit->setText(tr("[Unknown]"));
ui->addKeyToKeyring_CB->setChecked(false);
ui->addKeyToKeyring_CB->setEnabled(false);
if(ui->nameEdit->text().isEmpty())
ui->nameEdit->setText(tr("[Unknown]"));
ui->addKeyToKeyring_CB->setChecked(false);
ui->addKeyToKeyring_CB->setEnabled(false);
ui->signersEdit->hide();
ui->signersLabel->hide();
ui->signGPGCheckBox->setChecked(false);
ui->signGPGCheckBox->setEnabled(false);
ui->acceptNoSignGPGCheckBox->setChecked(true);
ui->acceptNoSignGPGCheckBox->setEnabled(false);
ui->signGPGCheckBox->setChecked(false);
ui->signGPGCheckBox->setEnabled(false);
ui->acceptNoSignGPGCheckBox->setChecked(true);
ui->acceptNoSignGPGCheckBox->setEnabled(false);
}
ui->ipEdit->setTextInteractionFlags(Qt::TextSelectableByMouse);
@ -856,30 +868,30 @@ void ConnectFriendWizard::cleanFriendCert()
{
bool certValid = false;
QString errorMsg ;
QString certDetail;
std::string cert = ui->friendCertEdit->toPlainText().toUtf8().constData();
if (cert.empty()) {
ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
ui->friendCertCleanLabel->setToolTip("");
ui->friendCertCleanLabel->setStyleSheet("");
errorMsg = tr("");
} else {
std::string cleanCert;
uint32_t error_code;
RsPeerDetails details;
if (rsPeers->cleanCertificate(cert, cleanCert, mIsShortInvite, error_code))
{
if (rsPeers->cleanCertificate(cert, cleanCert, mIsShortInvite, error_code, details))
{
certValid = true;
if (cert != cleanCert)
{
{
QTextCursor textCursor = ui->friendCertEdit->textCursor();
whileBlocking(ui->friendCertEdit)->setPlainText(QString::fromUtf8(cleanCert.c_str()));
whileBlocking(ui->friendCertEdit)->setTextCursor(textCursor);
ui->friendCertCleanLabel->setStyleSheet("");
certDetail = ConfCertDialog::getCertificateDescription(details,false,mIsShortInvite,!details.ipAddressList.empty());
}
if (mIsShortInvite)
@ -887,7 +899,7 @@ void ConnectFriendWizard::cleanFriendCert()
else
errorMsg = tr("Valid certificate") ;
ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png"));
ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png"));
} else {
if (error_code > 0) {
switch (error_code) {
@ -903,16 +915,17 @@ void ConnectFriendWizard::cleanFriendCert()
default:
errorMsg = tr("Not a valid Retroshare certificate!") ;
ui->friendCertCleanLabel->setStyleSheet("QLabel#friendCertCleanLabel {border: 1px solid #DCDC41; border-radius: 6px; background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2);}");
}
}
ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
}
}
ui->friendCertCleanLabel->setPixmap(certValid ? FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png") : FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
ui->friendCertCleanLabel->setToolTip(errorMsg);
ui->friendCertCleanLabel->setPixmap(certValid ? FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png") : FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
ui->friendCertCleanLabel->setToolTip("<p>" + errorMsg + (certValid ? "\n" + certDetail : "") + "</p>");
ui->friendCertCleanLabel->setText(errorMsg);
ui->friendCertCleanLabel->setProperty("WrongValue", !certValid && !errorMsg.isEmpty());
ui->friendCertCleanLabel->style()->unpolish(ui->friendCertCleanLabel);
ui->friendCertCleanLabel->style()->polish( ui->friendCertCleanLabel);
ui->TextPage->setComplete(certValid);
}

View file

@ -590,7 +590,7 @@
</sizepolicy>
</property>
<property name="text">
<string notr="true">Email</string>
<string notr="true">ProfilId</string>
</property>
</widget>
</item>
@ -629,7 +629,7 @@
</sizepolicy>
</property>
<property name="text">
<string>Signers</string>
<string>Signers:</string>
</property>
</widget>
</item>
@ -675,6 +675,16 @@
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="knownIpLabel">
<property name="text">
<string>Known IP:</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QPlainTextEdit" name="knownIpEdit"/>
</item>
</layout>
</widget>
</item>

View file

@ -21,12 +21,6 @@
#include "gui/common/FilesDefs.h"
#include <retroshare/rsgxsifacehelper.h>
#include <QInputDialog>
#include <QMessageBox>
#include <QTimer>
//#include <QMutexLocker>
#include <QDesktopWidget>
#include "notifyqt.h"
#include <retroshare/rsnotify.h>
#include <retroshare/rspeers.h>
@ -55,6 +49,13 @@
#include "retroshare/rsplugin.h"
#include <QDesktopWidget>
#include <QInputDialog>
#include <QMessageBox>
//#include <QMutexLocker>
#include <QThread>
#include <QTimer>
/*****
* #define NOTIFY_DEBUG
****/
@ -223,37 +224,51 @@ bool NotifyQt::askForPassword(const std::string& title, const std::string& key_d
{
RsAutoUpdatePage::lockAllEvents() ;
QInputDialog dialog;
QString windowTitle;
if (title == "") {
dialog.setWindowTitle(tr("Passphrase required"));
windowTitle = tr("Passphrase required");
} else if (title == "AuthSSLimpl::SignX509ReqWithGPG()") {
dialog.setWindowTitle(tr("You need to sign your node's certificate."));
windowTitle = tr("You need to sign your node's certificate.");
} else if (title == "p3IdService::service_CreateGroup()") {
dialog.setWindowTitle(tr("You need to sign your forum/chatrooms identity."));
windowTitle = tr("You need to sign your forum/chatrooms identity.");
} else {
dialog.setWindowTitle(QString::fromStdString(title));
windowTitle = QString::fromStdString(title);
}
dialog.setLabelText((prev_is_bad ? QString("%1<br/><br/>").arg(tr("Wrong password !")) : QString()) + QString("<b>%1</b><br/>Profile: <i>%2</i>\n").arg(tr("Please enter your Retroshare passphrase"), QString::fromUtf8(key_details.c_str())));
dialog.setTextEchoMode(QLineEdit::Password);
dialog.setModal(true);
QString labelText = ( prev_is_bad ? QString("%1<br/><br/>").arg(tr("Wrong password !")) : QString() )
+ QString("<b>%1</b><br/>Profile: <i>%2</i>\n")
.arg( tr("Please enter your Retroshare passphrase")
, QString::fromUtf8(key_details.c_str()) );
QLineEdit::EchoMode textEchoMode = QLineEdit::Password;
bool modal = true;
int ret = dialog.exec();
bool sameThread = QThread::currentThread() == qApp->thread();
Gui_InputDialogReturn ret;
qRegisterMetaType<Gui_InputDialogReturn>("Gui_InputDialogReturn");
QMetaObject::invokeMethod( MainWindow::getInstance()
, "guiInputDialog"
, sameThread ? Qt::DirectConnection : Qt::BlockingQueuedConnection
, Q_RETURN_ARG(Gui_InputDialogReturn, ret)
, Q_ARG(QString, windowTitle)
, Q_ARG(QString, labelText)
, Q_ARG(QLineEdit::EchoMode, textEchoMode)
, Q_ARG(bool, modal)
);
cancelled = false ;
cancelled = false ;
RsAutoUpdatePage::unlockAllEvents() ;
if (ret == QDialog::Rejected) {
password.clear() ;
cancelled = true ;
return true ;
}
if (ret.execReturn == QDialog::Rejected) {
password.clear() ;
cancelled = true ;
return true ;
}
if (ret == QDialog::Accepted) {
password = dialog.textValue().toUtf8().constData();
return true;
}
if (ret.execReturn == QDialog::Accepted) {
password = ret.textValue.toUtf8().constData();
return true;
}
return false;
}

View file

@ -2230,6 +2230,15 @@ PlotWidget {
/* RetroShare specific part */
/**********************************/
/**** Fix QPushButton ****/
QPushButton,
QPushButton:disabled,
QPushButton:checked {
padding-left: 6px;
padding-right: 6px;
}
/**** Fix QTreeView Items ****/
QTreeView::item,
@ -2248,13 +2257,13 @@ QTreeView:branch:selected:!active {
/**** Fix QSplitter ****/
QSplitter {
background-color: #19232D;
background-color: rgba(0,0,0,0);
}
QSplitter::handle {
background-color: #455364;
border: 0px solid #455364;
border-radius: 4px;
background-color: rgba(0,0,0,0);
border: 0px;
border-radius: 2px;
padding: 0px;
}
@ -2286,7 +2295,7 @@ QFrame#bottomFrame,/* Frame used at the bottom of dialog*/
QFrame#toasterFrame,/* Frame used in Toasters*/
QFrame#toolBarFrame {/* Frame used for buttons*/
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #19232D, stop:1 #32414B);
border: 1px solid #CCCCCC;
border: 1px solid #455364;
}
QFrame#toolBarFrame > LineEditClear {
background-color: #29333D;
@ -2316,7 +2325,7 @@ QFrame#titleBarFrame {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #455364, stop: 0.5 #54687A,stop: 0.6 #44586A, stop:1 #455364);
border: 0px;
}
QFrame[objectName^="#headerBFrame"] {
QFrame[objectName^="headerBFrame"] {
border: 1px;
border-radius: 4px;
}

View file

@ -2230,6 +2230,15 @@ PlotWidget {
/* RetroShare specific part */
/**********************************/
/**** Fix QPushButton ****/
QPushButton,
QPushButton:disabled,
QPushButton:checked {
padding-left: 6px;
padding-right: 6px;
}
/**** Fix QTreeView Items ****/
QTreeView::item,
@ -2248,13 +2257,13 @@ QTreeView:branch:selected:!active {
/**** Fix QSplitter ****/
QSplitter {
background-color: white;
background-color: rgba(0,0,0,0);
}
QSplitter::handle {
background-color: #C9CDD0;
border: 0px solid #C9CDD0;
border-radius: 4px;
background-color: rgba(0,0,0,0);
border: 0px;
border-radius: 2px;
padding: 0px;
}
@ -2307,25 +2316,34 @@ QLabel#avatarLabel{
}
/* HeaderFrame & TitleBarFrame */
/* HeaderFrame */
QFrame[objectName^="headerFrame"],
QFrame[objectName^="headerBFrame"],
QToolBar#headerToolBar,
QFrame#titleBarFrame {
QToolBar#headerToolBar {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
border: 0px;
}
QFrame[objectName^="#headerBFrame"] {
QFrame[objectName^="headerBFrame"] {
border: 1px;
border-radius: 4px;
}
QFrame[objectName^="headerFrame"] > *:!hover,
QFrame[objectName^="headerBFrame"] > *:!hover,
QFrame#titleBarFrame > *:!hover {
QFrame[objectName^="headerBFrame"] > *:!hover {
background: transparent;
color: white;
}
/* TitleBarFrame */
QFrame#titleBarFrame {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F0F8FD, stop:1 #E6F2FD);
border: 0px;
}
QFrame#titleBarFrame > *:!hover {
background: transparent;
color: black;
}
QFrame#titleBarFrame QComboBox,
QFrame#titleBarFrame QLineEdit,
QFrame#titleBarFrame QTextEdit {

View file

@ -418,31 +418,3 @@ OpModeStatus[opMode="Minimal"] {
[WrongValue="true"] {
background-color: #FF8080;
}
/* HeaderFrame & TitleBarFrame */
QFrame[objectName^="headerFrame"],
QFrame[objectName^="headerBFrame"] {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
border: 1px;
border-radius: 4px;
}
QFrame[objectName^="#headerBFrame"] {
border: 1px;
border-radius: 4px;
}
QFrame[objectName^="headerFrame"] > *:!hover,
QFrame[objectName^="headerBFrame"] > *:!hover{
background: transparent;
color: white;
}
QFrame#toolBarFrame, QFrame#toolBarFrameTop {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8);
border: 1px solid #CCCCCC;
}
ChatWidget QFrame#titleBarFrame {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8);
border: 1px solid #CCCCCC;
}

View file

@ -99,10 +99,6 @@ __declspec(dllexport) __cdecl BOOL _OPENSSL_isservice(void)
#endif
#endif
/*** WINDOWS DON'T LIKE THIS - REDEFINES VER numbers.
#include <gui/qskinobject/qskinobject.h>
****/
#include <util/stringutil.h>
#include <retroshare/rsinit.h>
#include <retroshare/rsiface.h>

View file

@ -0,0 +1,21 @@
/* HeaderFrame & TitleBarFrame */
QFrame[objectName^="headerFrame"] {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
}
QFrame[objectName^="headerBFrame"] {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD);
border: 1px;
border-radius: 4px;
}
QFrame[objectName^="headerFrame"] > *:!hover,
QFrame[objectName^="headerBFrame"] > *:!hover{
background: transparent;
color: white;
}
QFrame[objectName^="toolBarFrame"],
QFrame[objectName^="toolBarFrameTop"] {
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8);
border: 1px solid #CCCCCC;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,002 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 991 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,019 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -1,7 +0,0 @@
[Skin]
Blur=false
Hintergrundfarbe=@Variant(\0\0\0\x43\x1\xff\xff\xd5\xd5\xd5\xd5\xd5\xd5\0\0)
SkinOn=true
Skinpfad=skin/Vista/
Titelfarbe=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)
Titelschrift=@Variant(\0\0\0@\0\0\0\x1a\0\x43\0o\0m\0i\0\x63\0 \0S\0\x61\0n\0s\0 \0M\0S@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0K\x10)

View file

@ -1,502 +0,0 @@
; Script generated with the Venis Install Wizard & modified by defnax
; This script need the http://nsis.sourceforge.net/Processes_plug-in
; This script need the http://nsis.sourceforge.net/KillProcDLL_plug-in
; Define your application name
!define APPNAME "RetroShare"
!define VERSION "0.4.13d"
!define APPNAMEANDVERSION "${APPNAME} ${VERSION}"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\RetroShare"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "RetroShare_${VERSION}_setup.exe"
BrandingText "${APPNAMEANDVERSION}"
; Use compression
SetCompressor LZMA
VAR KILLEXENAME
; Modern interface settings
!include Sections.nsh
!include "MUI.nsh"
;Interface Settings
!define MUI_ABORTWARNING
;!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "retroshare.bmp" ; optional
# MUI defines
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_LICENSEPAGE_RADIOBUTTONS
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_LINK "Visit the RetroShare forum for the latest news and support"
!define MUI_FINISHPAGE_LINK_LOCATION "http://retroshare.sourceforge.net/forum/"
!define MUI_FINISHPAGE_RUN "$INSTDIR\RetroShare.exe"
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY}
!define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage
; !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without havinf to reboot your computer. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
; Defines the un-/installer logo of RetroShare
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Set languages (first is default language)
!insertmacro MUI_RESERVEFILE_LANGDLL
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
;--------------------------------
;Configuration
;!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
LicenseLangString myLicenseData 1033 "license\license.txt"
LicenseLangString myLicenseData 1031 "license\license-GER.txt"
LicenseLangString myLicenseData 1036 "license\license-FR.txt"
LicenseLangString myLicenseData 1055 "license\license-TR.txt"
LicenseLangString myLicenseData 2052 "license\license.txt"
LicenseLangString myLicenseData 1045 "license\license.txt"
LicenseData $(myLicenseData)
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE English
!insertmacro MUI_LANGUAGE German
!insertmacro MUI_LANGUAGE French
!insertmacro MUI_LANGUAGE Turkish
!insertmacro MUI_LANGUAGE SimpChinese
!insertmacro MUI_LANGUAGE Polish
;Component-selection page
;Titles
LangString sec_main ${LANG_ENGLISH} "Program Files"
LangString sec_data ${LANG_ENGLISH} "Program Skins"
LangString sec_shortcuts ${LANG_ENGLISH} "Shortcuts"
LangString sec_link ${LANG_ENGLISH} "File Association"
LangString sec_autostart ${LANG_ENGLISH} "Auto Startup"
LangString DESC_sec_main ${LANG_ENGLISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_ENGLISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_ENGLISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_ENGLISH} "Associate RetroShare with .pqi file extension"
LangString DESC_sec_autostart ${LANG_ENGLISH} "Auto-Run and Login at Startup"
LangString LANGUAGEID ${LANG_ENGLISH} "1033"
LangString sec_main ${LANG_FRENCH} "RetroShare"
LangString sec_data ${LANG_FRENCH} "Programme de Skins"
LangString sec_shortcuts ${LANG_FRENCH} "Raccourcis"
LangString sec_link ${LANG_FRENCH} "RetroShare fichiers Association"
LangString sec_startmenu ${LANG_FRENCH} "Raccourcis du menu Démarrer"
LangString sec_autostart ${LANG_FRENCH} "Démarrage automatique"
LangString DESC_sec_main ${LANG_FRENCH} "Installe les fichiers du programme."
LangString DESC_sec_data ${LANG_FRENCH} "Installe RetroShare Skins"
LangString DESC_sec_startmenu ${LANG_FRENCH} "Crée les raccourcis du menu Démarrer"
LangString DESC_sec_shortcuts ${LANG_FRENCH} "Crée une icône sur le bureau."
LangString DESC_sec_link ${LANG_FRENCH} "Associate RetroShare with .pqi file extension"
LangString DESC_sec_autostart ${LANG_FRENCH} "Run and Auto-connexion au démarrage"
LangString LANGUAGEID ${LANG_FRENCH} "1036"
LangString sec_main ${LANG_GERMAN} "Programmdateien"
LangString sec_data ${LANG_GERMAN} "Skins f<>r das Programm"
LangString sec_shortcuts ${LANG_GERMAN} "Shortcuts"
LangString sec_link ${LANG_GERMAN} "Dateiverkn<EFBFBD>pfungen"
LangString sec_autostart ${LANG_GERMAN} "Auto Startup"
LangString DESC_sec_main ${LANG_GERMAN} "Installiert die erforderlichen Programmdateien."
LangString DESC_sec_data ${LANG_GERMAN} "Installiert RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_GERMAN} "Erstellt eine RetroShare Verkn<6B>pfung im Startmen<65>, Desktop oder im Schnellstarter."
LangString DESC_sec_link ${LANG_GERMAN} "RetroShare mit .pqi Dateien verkn<6B>pfen"
LangString DESC_sec_autostart ${LANG_GERMAN} "Beim Neustart automatisch RetroShare starten und sich anmelden"
LangString LANGUAGEID ${LANG_GERMAN} "1031"
LangString sec_main ${LANG_TURKISH} "Program Dosyalar<61>"
LangString sec_data ${LANG_TURKISH} "Program Skinleri"
LangString sec_shortcuts ${LANG_TURKISH} "Shortcut'lar"
LangString sec_link ${LANG_TURKISH} ".pqi Dosya Kaydet"
LangString sec_autostart ${LANG_TURKISH} "Otomatik calistir ve baglan"
LangString DESC_sec_main ${LANG_TURKISH} "Program dosyalar<61>n<EFBFBD> kurar."
LangString DESC_sec_data ${LANG_TURKISH} "RetroShare Skin'leri kurar"
LangString DESC_sec_shortcuts ${TURKISH} "Shortcut yap Start menu , Desktop veya Quicklaunchbar icin."
LangString DESC_sec_link ${LANG_TURKISH} "RetroShare .pqi almas<61> i<>in kaydettirir"
LangString DESC_sec_autostart ${LANG_TURKISH} "Isletim sistemi acildiginda Otomatik olarak calistir ve baglan"
LangString LANGUAGEID ${LANG_TURKISH} "1055"
LangString sec_main ${LANG_SIMPCHINESE} "程序文件"
LangString sec_data ${LANG_SIMPCHINESE} "程序皮肤"
LangString sec_shortcuts ${LANG_SIMPCHINESE} "快捷方式"
LangString sec_link ${LANG_SIMPCHINESE} "RetroShare文件关联"
LangString sec_autostart ${LANG_SIMPCHINESE} "自动启动"
LangString DESC_sec_main ${LANG_SIMPCHINESE} "安装RetroShare程序"
LangString DESC_sec_data ${LANG_SIMPCHINESE} "安装RetroShare皮肤"
LangString DESC_sec_shortcuts ${LANG_SIMPCHINESE} "建RetroShare快捷方式"
LangString DESC_sec_link ${LANG_SIMPCHINESE} "关联.pqi扩展名"
LangString DESC_sec_autostart ${LANG_SIMPCHINESE} "启动时自动运行和登录"
LangString LANGUAGEID ${LANG_SIMPCHINESE} "2052"
LangString sec_main ${LANG_POLISH} "Pliki programu"
LangString sec_data ${LANG_POLISH} "Skórki"
LangString sec_shortcuts ${LANG_POLISH} "Skróty"
LangString sec_link ${LANG_POLISH} "Skojarz pliki"
LangString sec_autostart ${LANG_POLISH} "Automatyczne uruchamianie"
LangString DESC_sec_main ${LANG_POLISH} "Instaluje pliki programu RetroShare"
LangString DESC_sec_data ${LANG_POLISH} "Instaluje skórki programu RetroShare"
LangString DESC_sec_shortcuts ${LANG_POLISH} "Utwórz ikony skrótów na pulpicie, w menu start oraz na pasku szybkiego uruchamiania."
LangString DESC_sec_link ${LANG_POLISH} "Skojarz pliki o rozszerzeniu .pqi z RetroShare"
LangString DESC_sec_autostart ${LANG_POLISH} "Uruchom i zaloguj podczas startu systemu"
LangString LANGUAGEID ${LANG_POLISH} "1045"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; CloseRetroShare: this will in a loop send the RetroShare window the WM_CLOSE
; message until it does not find a valid RetroShare window
;
!macro CloseRetroShare UN
Function ${UN}CloseRetroShare
Push $0
IntFmt $R4 "%u" 0
goto skip
killloop:
DetailPrint "Killing RetroShare"
KillProcDLL::KillProc "RetroShare.exe"
loop:
Sleep 1000
IntOp $R4 $R4 + 1
IntCmp $R4 5 done
skip:
DetailPrint "Looking for running copies of RetroShare"
;Push "wxWindowClassNR" # the wcn
;Push "RetroShare" # the known part of the wt
;Call ${UN}EnhancedFindWindow
;Pop $0 # will contain the window's handle
;Pop $1 # will containg the full wcn
# both will containg "failed", if no matching wcn was found
;StrCmp $0 "failed" done
;StrCmp $0 "0" done
;DetailPrint "Stopping RetroShare"
;SendMessage $0 16 0 0 # WM_CLOSE == 16
Goto loop
done:
IntFmt $R4 "%u" 0
Processes::FindProcess "RetroShare.exe"
StrCmp $R0 "1" killloop reallydone
reallydone:
Pop $0
FunctionEnd
!macroend
!macro CheckForIt UN
Function ${UN}CheckForIt
Processes::FindProcess $KILLEXENAME
StrCmp $R0 "1" foundit didntfindit
foundit:
MessageBox MB_OKCANCEL "You must quit ${APPNAME} ($KILLEXENAME) \
before installing this version.$\r$\nPlease quit it and press \
OK to continue." IDOK tryagain
Abort
tryagain:
Sleep 2000
Processes::FindProcess $KILLEXENAME
StrCmp $R0 "1" stillthere didntfindit
stillthere:
MessageBox MB_OKCANCEL "There is still a copy of ${APPNAME} \
($KILLEXENAME) running.$\r$\nPress OK to force-quit the application, \
or Cancel to exit." IDOK killit
Abort
killit:
KillProcDLL::KillProc $KILLEXENAME
Sleep 1000
didntfindit:
FunctionEnd
!macroend
!macro QuitIt UN
Function ${UN}QuitIt
# try nicely first
Call ${UN}CloseRetroShare
# kill all the old ones
StrCpy $KILLEXENAME "RetroShare.exe"
Call ${UN}CheckForIt
StrCpy $KILLEXENAME ""
FunctionEnd
!macroend
; This function automatically uninstalls older versions.
; It is largely copied from:
; http://nsis.sourceforge.net/archive/viewpage.php?pageid=326
Section $(sec_main) sec_main
;Set Section required
SectionIn RO
; Set Section properties
SetOverwrite on
; Clears previous error logs
Delete "$INSTDIR\*.log"
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\"
File /r "release\RetroShare.exe"
File /r "D:\Qt\2009.02\mingw\bin\mingwm10.dll"
File /r "D:\Qt\2009.02\qt\bin\QtCore4.dll"
File /r "D:\Qt\2009.02\qt\bin\QtGui4.dll"
File /r "D:\Qt\2009.02\qt\bin\QtNetwork4.dll"
File /r "D:\Qt\2009.02\qt\bin\QtXml4.dll"
File /r "D:\Qt\2009.02\qt\bin\QtScript4.dll"
File /r "pthreadGCE2.dll"
File /r "pthreadGC2d.dll"
File /r "changelog.txt"
SectionEnd
Section $(sec_data) sec_data
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$APPDATA\RetroShare\"
;File /r "data\*"
; We're not ready for external skins...
; Set Section qss need to remove svn path
SetOutPath "$INSTDIR\qss\"
File /r qss\*.*
; Set Section skin
; SetOutPath "$INSTDIR\skin\"
; File /r release\skin\*.*
; Add emoticons
SetOutPath "$INSTDIR\emoticons\"
File /r emoticons\*.*
; Add Chat Style
SetOutPath "$INSTDIR\style\"
File /r style\*.*
SectionEnd
Section $(sec_link) sec_link
; Delete any existing keys
; Write the file association
WriteRegStr HKCR .pqi "" retroshare
WriteRegStr HKCR retroshare "" "PQI File"
WriteRegBin HKCR retroshare EditFlags 00000100
WriteRegStr HKCR "retroshare\shell" "" open
WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\RetroShare.exe" "%1"`
SectionEnd
SectionGroup $(sec_shortcuts) sec_shortcuts
Section StartMenu SEC0001
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\$(^UninstallLink).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section Desktop SEC0002
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section Quicklaunchbar SEC0003
CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
SectionGroupEnd
;Section $(sec_autostart) sec_autostart
; WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun" "$INSTDIR\${APPNAME}.exe -a"
;SectionEnd
Section $(sec_autostart) sec_autostart
CreateShortCut "$SMSTARTUP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${sec_main} $(DESC_sec_main)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_data} $(DESC_sec_data)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_shortcuts} $(DESC_sec_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_link} $(DESC_sec_link)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_autostart} $(DESC_sec_autostart)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;!insertmacro EnhancedFindWindow ""
;!insertmacro EnhancedFindWindow "un."
!insertmacro CloseRetroShare ""
!insertmacro CloseRetroShare "un."
!insertmacro CheckForIt ""
!insertmacro CheckForIt "un."
!insertmacro QuitIt ""
!insertmacro QuitIt "un."
;Uninstall section
Section "Uninstall"
Call un.QuitIt
; Remove file association registry keys
DeleteRegKey HKCR .pqi
DeleteRegKey HKCR retroshare
; Remove program/uninstall regsitry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM SOFTWARE\${APPNAME}
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun"
; Remove files and uninstaller
Delete $INSTDIR\RetroShare.exe
Delete $INSTDIR\*.dll
Delete $INSTDIR\*.dat
Delete $INSTDIR\*.txt
Delete $INSTDIR\*.ini
Delete $INSTDIR\*.log
Delete $INSTDIR\uninstall.exe
; Remove the kadc.ini file.
; Don't remove the directory, otherwise
; we lose the XPGP keys.
; Should make this an option though...
Delete "$APPDATA\${APPNAME}\kadc.ini"
Delete "$APPDATA\${APPNAME}\*.cfg"
Delete "$APPDATA\${APPNAME}\*.conf"
Delete "$APPDATA\${APPNAME}\*.log-save"
Delete "$APPDATA\${APPNAME}\*.log"
Delete "$APPDATA\${APPNAME}\*.failed"
RMDir /r "$APPDATA\${APPNAME}\cache"
RMDir /r "$APPDATA\${APPNAME}\Partials"
; Remove shortcuts, if any
Delete "$SMPROGRAMS\${APPNAME}\*.*"
; Remove desktop shortcut
Delete "$DESKTOP\${APPNAME}.lnk"
; Remove Quicklaunch shortcut
Delete "$QUICKLAUNCH\${APPNAME}.lnk"
; Remove Autstart
Delete "$SMSTARTUP\${APPNAME}.lnk"
; Remove directories used
RMDir "$SMPROGRAMS\${APPNAME}"
RMDir /r "$INSTDIR"
RMDir /r "$INSTDIR\qss"
RMDir /r "$INSTDIR\emoticons"
RMDir /r "$INSTDIR\style"
SectionEnd
Function .onInit
InitPluginsDir
Push $R1
File /oname=$PLUGINSDIR\spltmp.bmp "gui\images\splash.bmp"
advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp
Pop $R1
Pop $R1
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren"
LangString ^UninstallLink ${LANG_TURKISH} "Kald<EFBFBD>r"
LangString ^UninstallLink ${LANG_FRENCH} "Désinstaller"
LangString ^UninstallLink ${LANG_SIMPCHINESE} "卸载"
LangString ^UninstallLink ${LANG_POLISH} "Odinstaluj"
; eof

View file

@ -1,501 +0,0 @@
; Script generated with the Venis Install Wizard & modified by defnax
; Define your application name
!define APPNAME "RetroShare"
!define VERSION "0.5.1 4049"
!define APPNAMEANDVERSION "${APPNAME} ${VERSION}"
!define QTBASE "D:\qt\2010.01"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\RetroShare"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "RetroShare_${VERSION}_setup_ultramodern.exe"
BrandingText "${APPNAMEANDVERSION}"
; Use compression
SetCompressor /SOLID LZMA
; Modern interface settings
!include Sections.nsh
!include "UMUI.nsh"
;Interface Settings
!define MUI_ABORTWARNING
;!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "retroshare.bmp" ; optional
# MUI defines
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\UltraModernUI\Icon.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_LICENSEPAGE_RADIOBUTTONS
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_LINK "Visit the RetroShare forum for the latest news and support"
!define MUI_FINISHPAGE_LINK_LOCATION "http://retroshare.sourceforge.net/forum/"
!define MUI_FINISHPAGE_RUN "$INSTDIR\RetroShare.exe"
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\UltraModernUI\UnIcon.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY}
!define UMUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without havinf to reboot your computer. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
; Defines the un-/installer logo of RetroShare
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Set languages (first is default language)
!insertmacro MUI_RESERVEFILE_LANGDLL
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
;--------------------------------
;Configuration
;!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
LicenseLangString myLicenseData 1030 "license\license.txt"
LicenseLangString myLicenseData 1033 "license\license.txt"
LicenseLangString myLicenseData 1031 "license\license-GER.txt"
LicenseLangString myLicenseData 1036 "license\license-FR.txt"
LicenseLangString myLicenseData 1055 "license\license-TR.txt"
LicenseLangString myLicenseData 2052 "license\license.txt"
LicenseLangString myLicenseData 1045 "license\license.txt"
LicenseLangString myLicenseData 1041 "license\license.txt"
LicenseLangString myLicenseData 1042 "license\license.txt"
LicenseLangString myLicenseData 1049 "license\license.txt"
LicenseLangString myLicenseData 1053 "license\license.txt"
LicenseData $(myLicenseData)
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE Danish
!insertmacro MUI_LANGUAGE English
!insertmacro MUI_LANGUAGE French
!insertmacro MUI_LANGUAGE German
!insertmacro MUI_LANGUAGE Japanese
!insertmacro MUI_LANGUAGE Korean
!insertmacro MUI_LANGUAGE Polish
!insertmacro MUI_LANGUAGE Russian
!insertmacro MUI_LANGUAGE Swedish
!insertmacro MUI_LANGUAGE SimpChinese
!insertmacro MUI_LANGUAGE Turkish
;Component-selection page
;Titles
LangString sec_main ${LANG_ENGLISH} "Program Files"
LangString sec_data ${LANG_ENGLISH} "Program Skins"
LangString sec_shortcuts ${LANG_ENGLISH} "Shortcuts"
LangString sec_link ${LANG_ENGLISH} "File Association"
LangString sec_autostart ${LANG_ENGLISH} "Auto Startup"
LangString DESC_sec_main ${LANG_ENGLISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_ENGLISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_ENGLISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_ENGLISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_ENGLISH} "1033"
LangString sec_main ${LANG_FRENCH} "RetroShare"
LangString sec_data ${LANG_FRENCH} "Programme de Skins"
LangString sec_shortcuts ${LANG_FRENCH} "Raccourcis"
LangString sec_link ${LANG_FRENCH} "RetroShare fichiers Association"
LangString sec_startmenu ${LANG_FRENCH} "Raccourcis du menu Démarrer"
LangString sec_autostart ${LANG_FRENCH} "Démarrage automatique"
LangString DESC_sec_main ${LANG_FRENCH} "Installe les fichiers du programme."
LangString DESC_sec_data ${LANG_FRENCH} "Installe RetroShare Skins"
LangString DESC_sec_startmenu ${LANG_FRENCH} "Crée les raccourcis du menu Démarrer"
LangString DESC_sec_shortcuts ${LANG_FRENCH} "Crée une icône sur le bureau."
LangString DESC_sec_link ${LANG_FRENCH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_FRENCH} "1036"
LangString sec_main ${LANG_GERMAN} "Programmdateien"
LangString sec_data ${LANG_GERMAN} "Skins fuer das Programm"
LangString sec_shortcuts ${LANG_GERMAN} "Shortcuts"
LangString sec_link ${LANG_GERMAN} "Dateiverknuepfungen"
LangString sec_autostart ${LANG_GERMAN} "Auto Startup"
LangString DESC_sec_main ${LANG_GERMAN} "Installiert die erforderlichen Programmdateien."
LangString DESC_sec_data ${LANG_GERMAN} "Installiert RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_GERMAN} "Erstellt eine RetroShare Verkn<6B>pfung im Startmen<65>, Desktop oder im Schnellstarter."
LangString DESC_sec_link ${LANG_GERMAN} "RetroShare mit .rsc Dateien verkn<6B>pfen"
LangString LANGUAGEID ${LANG_GERMAN} "1031"
LangString sec_main ${LANG_TURKISH} "Program Dosyalar<61>"
LangString sec_data ${LANG_TURKISH} "Program Skinleri"
LangString sec_shortcuts ${LANG_TURKISH} "Shortcut'lar"
LangString sec_link ${LANG_TURKISH} ".rsc Dosya Kaydet"
LangString sec_autostart ${LANG_TURKISH} "Otomatik calistir ve baglan"
LangString DESC_sec_main ${LANG_TURKISH} "Program dosyalar<61>n<EFBFBD> kurar."
LangString DESC_sec_data ${LANG_TURKISH} "RetroShare Skin'leri kurar"
LangString DESC_sec_shortcuts ${TURKISH} "Shortcut yap Start menu , Desktop veya Quicklaunchbar icin."
LangString DESC_sec_link ${LANG_TURKISH} "RetroShare .rsc almas<61> i<>in kaydettirir"
LangString LANGUAGEID ${LANG_TURKISH} "1055"
LangString sec_main ${LANG_SIMPCHINESE} "程序文件"
LangString sec_data ${LANG_SIMPCHINESE} "程序皮肤"
LangString sec_shortcuts ${LANG_SIMPCHINESE} "快捷方式"
LangString sec_link ${LANG_SIMPCHINESE} "RetroShare文件关联"
LangString sec_autostart ${LANG_SIMPCHINESE} "自动启动"
LangString DESC_sec_main ${LANG_SIMPCHINESE} "安装RetroShare程序"
LangString DESC_sec_data ${LANG_SIMPCHINESE} "安装RetroShare皮肤"
LangString DESC_sec_shortcuts ${LANG_SIMPCHINESE} "建RetroShare快捷方式"
LangString DESC_sec_link ${LANG_SIMPCHINESE} "关联.rsc扩"
LangString LANGUAGEID ${LANG_SIMPCHINESE} "2052"
LangString sec_main ${LANG_POLISH} "Pliki programu"
LangString sec_data ${LANG_POLISH} "Skórki"
LangString sec_shortcuts ${LANG_POLISH} "Skróty"
LangString sec_link ${LANG_POLISH} "Skojarz pliki"
LangString sec_autostart ${LANG_POLISH} "Automatyczne uruchamianie"
LangString DESC_sec_main ${LANG_POLISH} "Instaluje pliki programu RetroShare"
LangString DESC_sec_data ${LANG_POLISH} "Instaluje skórki programu RetroShare"
LangString DESC_sec_shortcuts ${LANG_POLISH} "Utwórz ikony skrótów na pulpicie, w menu start oraz na pasku szybkiego uruchamiania."
LangString DESC_sec_link ${LANG_POLISH} "Skojarz pliki o rozszerzeniu .rsc z RetroShare"
LangString LANGUAGEID ${LANG_POLISH} "1045"
LangString sec_main ${LANG_DANISH} "Program Files"
LangString sec_data ${LANG_DANISH} "Program Skins"
LangString sec_shortcuts ${LANG_DANISH} "Shortcuts"
LangString sec_link ${LANG_DANISH} "File Association"
LangString sec_autostart ${LANG_DANISH} "Auto Startup"
LangString DESC_sec_main ${LANG_DANISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_DANISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_DANISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_DANISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_DANISH} "1030"
LangString sec_main ${LANG_RUSSIAN} "Program Files"
LangString sec_data ${LANG_RUSSIAN} "Program Skins"
LangString sec_shortcuts ${LANG_RUSSIAN} "Shortcuts"
LangString sec_link ${LANG_RUSSIAN} "File Association"
LangString sec_autostart ${LANG_RUSSIAN} "Auto Startup"
LangString DESC_sec_main ${LANG_RUSSIAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_RUSSIAN} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_RUSSIAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_RUSSIAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_RUSSIAN} "1049"
LangString sec_main ${LANG_SWEDISH} "Program Files"
LangString sec_data ${LANG_SWEDISH} "Program Skins"
LangString sec_shortcuts ${LANG_SWEDISH} "Shortcuts"
LangString sec_link ${LANG_SWEDISH} "File Association"
LangString sec_autostart ${LANG_SWEDISH} "Auto Startup"
LangString DESC_sec_main ${LANG_SWEDISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_SWEDISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_SWEDISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_SWEDISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_SWEDISH} "1053"
LangString sec_main ${LANG_JAPANESE} "Program Files"
LangString sec_data ${LANG_JAPANESE} "Program Skins"
LangString sec_shortcuts ${LANG_JAPANESE} "Shortcuts"
LangString sec_link ${LANG_JAPANESE} "File Association"
LangString sec_autostart ${LANG_JAPANESE} "Auto Startup"
LangString DESC_sec_main ${LANG_JAPANESE} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_JAPANESE} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_JAPANESE} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_JAPANESE} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_JAPANESE} "1041"
LangString sec_main ${LANG_KOREAN} "Program Files"
LangString sec_data ${LANG_KOREAN} "Program Skins"
LangString sec_shortcuts ${LANG_KOREAN} "Shortcuts"
LangString sec_link ${LANG_KOREAN} "File Association"
LangString sec_autostart ${LANG_KOREAN} "Auto Startup"
LangString DESC_sec_main ${LANG_KOREAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_KOREAN} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_KOREAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_KOREAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_KOREAN} "1042"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
Section $(sec_main) sec_main
;Set Section required
SectionIn RO
; Set Section properties
SetOverwrite on
; Clears previous error logs
Delete "$INSTDIR\*.log"
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\"
File /r "release\RetroShare.exe"
File /r "..\..\retroshare-nogui\src\release\retroshare-nogui.exe"
File /r "D:\Qt\2010.01\mingw\bin\mingwm10.dll"
File /r "D:\Qt\2010.01\qt\bin\QtCore4.dll"
File /r "D:\Qt\2010.01\qt\bin\QtGui4.dll"
File /r "D:\Qt\2010.01\qt\bin\QtNetwork4.dll"
File /r "D:\Qt\2010.01\qt\bin\QtXml4.dll"
File /r "D:\Qt\2010.01\qt\bin\QtScript4.dll"
File /r "D:\Qt\2010.01\qt\bin\libgcc_s_dw2-1.dll"
File /r "D:\Qt\2010.01\qt\plugins\imageformats"
File /r "D:\Development\miniupnpc-1.3\miniupnpc.dll"
File /r ${QTBASE}\qt\qt_*.qm
File /r "release\pthreadGC2d.dll"
File /r "release\libgpg-error-0.dll"
File /r "release\libgpgme-11.dll"
File /r "changelog.txt"
File /r /x Data "release\bdboot.txt"
SectionEnd
Section $(sec_data) sec_data
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$APPDATA\RetroShare\"
;File /r "data\*"
; Set Section Plugins
SetOutPath "$APPDATA\RetroShare\plugins\"
;File /r "plugins\"
; Set Section qss and exclude svn
SetOutPath "$INSTDIR\qss\"
File /r /x .svn qss\*.*
; Set Section sounds and exclude svn
SetOutPath "$INSTDIR\sounds\"
File /r /x .svn sounds\*.*
; Set Section skin
; SetOutPath "$INSTDIR\skin\"
; File /r release\skin\*.*
; Add emoticons
;SetOutPath "$INSTDIR\emoticons\"
;File /r emoticons\*.*
; Add Chat Style
;SetOutPath "$INSTDIR\style\"
;File /r style\*.*
SectionEnd
; These are the programs that are needed by RetroShare.
Section -Prerequisites
SetOutPath $INSTDIR\Prerequisites
MessageBox MB_YESNO "$(InstallGPG4WIN)" /SD IDYES IDNO leave
File "Prerequisites\gpg4win-1.1.4.exe"
ExecWait "$INSTDIR\Prerequisites\gpg4win-1.1.4.exe"
leave:
SectionEnd
Section $(sec_link) sec_link
; Delete any existing keys
; Write the file association
WriteRegStr HKCR .rsc "" retroshare
WriteRegStr HKCR retroshare "" "RSC File"
WriteRegBin HKCR retroshare EditFlags 00000100
WriteRegStr HKCR "retroshare\shell" "" open
WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\RetroShare.exe" "%1"`
SectionEnd
SectionGroup $(sec_shortcuts) sec_shortcuts
Section StartMenu SEC0001
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\$(^UninstallLink).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
SectionEnd
Section Desktop SEC0002
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section Quicklaunchbar SEC0003
CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
SectionGroupEnd
;Section $(sec_autostart) sec_autostart
; WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun" "$INSTDIR\${APPNAME}.exe -a"
;SectionEnd
;Section $(sec_autostart) sec_autostart
; CreateShortCut "$SMSTARTUP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
;SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${sec_main} $(DESC_sec_main)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_data} $(DESC_sec_data)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_shortcuts} $(DESC_sec_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_link} $(DESC_sec_link)
;!insertmacro MUI_DESCRIPTION_TEXT ${sec_autostart} $(DESC_sec_autostart)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section "Uninstall"
; Remove file association registry keys
DeleteRegKey HKCR .rsc
DeleteRegKey HKCR retroshare
; Remove program/uninstall regsitry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM SOFTWARE\${APPNAME}
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun"
; Remove files and uninstaller
Delete $INSTDIR\RetroShare.exe
Delete $INSTDIR\*.dll
Delete $INSTDIR\*.dat
Delete $INSTDIR\*.txt
Delete $INSTDIR\*.ini
Delete $INSTDIR\*.log
Delete $INSTDIR\uninstall.exe
; Remove the kadc.ini file.
; Don't remove the directory, otherwise
; we lose the XPGP keys.
; Should make this an option though...
Delete "$APPDATA\${APPNAME}\kadc.ini"
Delete "$APPDATA\${APPNAME}\*.cfg"
Delete "$APPDATA\${APPNAME}\*.conf"
Delete "$APPDATA\${APPNAME}\*.log-save"
Delete "$APPDATA\${APPNAME}\*.log"
Delete "$APPDATA\${APPNAME}\*.failed"
RMDir /r "$APPDATA\${APPNAME}\cache"
RMDir /r "$APPDATA\${APPNAME}\Partials"
; Remove shortcuts, if any
Delete "$SMPROGRAMS\${APPNAME}\*.*"
; Remove desktop shortcut
Delete "$DESKTOP\${APPNAME}.lnk"
; Remove Quicklaunch shortcut
Delete "$QUICKLAUNCH\${APPNAME}.lnk"
; Remove Autostart
;Delete "$SMSTARTUP\${APPNAME}.lnk"
; Remove directories used
RMDir "$SMPROGRAMS\${APPNAME}"
RMDir /r "$INSTDIR"
RMDir /r "$INSTDIR\qss"
RMDir /r "$INSTDIR\emoticons"
RMDir /r "$INSTDIR\style"
RMDir /r "$INSTDIR\translations"
SectionEnd
Function .onInit
InitPluginsDir
Push $R1
File /oname=$PLUGINSDIR\spltmp.bmp "gui\images\splash.bmp"
advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp
Pop $R1
Pop $R1
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
LangString InstallGPG4WIN ${LANG_ENGLISH} "Install Gpg4win ? Gpg4win is required for RetroShare!"
LangString InstallGPG4WIN ${LANG_GERMAN} "Installiere Gpg4win ? Gpg4win ist erforderlich fuer RetroShare!"
LangString InstallGPG4WIN ${LANG_TURKISH} "Gpg4win Yükle? Gpg4win RetroShare için gerekli!"
LangString InstallGPG4WIN ${LANG_FRENCH} "RetroShare a besoin de GPG4win pour fonctionner. Lancer l'installation de GPG4win?"
LangString InstallGPG4WIN ${LANG_SIMPCHINESE} "Install Gpg4win ? Gpg4win是需要Retroshare!"
LangString InstallGPG4WIN ${LANG_POLISH} "Install Gpg4win ? Gpg4win wymagane jest Retroshare!"
LangString InstallGPG4WIN ${LANG_DANISH} "Installer Gpg4win? Gpg4win er nødvendig for RetroShare!"
LangString InstallGPG4WIN ${LANG_JAPANESE} "Install Gpg4win ? Gpg4win is required for RetroShare!"
LangString InstallGPG4WIN ${LANG_KOREAN} "Install Gpg4win ? Gpg4win is required for RetroShare!"
LangString InstallGPG4WIN ${LANG_RUSSIAN} "Install Gpg4win ? Gpg4win is required for RetroShare!"
LangString InstallGPG4WIN ${LANG_SWEDISH} "Installera Gpg4win? Gpg4win krävs för RetroShare!"
LangString FINISHPAGELINK ${LANG_ENGLISH} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_GERMAN} "Besuche RetroShare Support Forum "
LangString FINISHPAGELINK ${LANG_TURKISH} "Destek için Retroshare foruma ziyaret"
LangString FINISHPAGELINK ${LANG_FRENCH} "Consultez le forum RetroShare pour vous tenir au courant des dernieres modifications, et obtenir de l'aide."
LangString FINISHPAGELINK ${LANG_SIMPCHINESE} "帮助论坛"
LangString FINISHPAGELINK ${LANG_POLISH} "Odwiedź forum RetroShare do najświeższych informacji i wsparcia"
LangString FINISHPAGELINK ${LANG_DANISH} "Besøg RetroShare fora for de seneste nyheder og støtte"
LangString FINISHPAGELINK ${LANG_JAPANESE} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_KOREAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_RUSSIAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_SWEDISH} "Besök RetroShare forum för de senaste nyheterna och stöd"
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren"
LangString ^UninstallLink ${LANG_TURKISH} "Kald<EFBFBD>r"
LangString ^UninstallLink ${LANG_FRENCH} "Désinstaller"
LangString ^UninstallLink ${LANG_SIMPCHINESE} "卸载"
LangString ^UninstallLink ${LANG_POLISH} "Odinstaluj"
LangString ^UninstallLink ${LANG_DANISH} "Afinstaller"
LangString ^UninstallLink ${LANG_JAPANESE} "Uninstall"
LangString ^UninstallLink ${LANG_KOREAN} "Uninstall"
LangString ^UninstallLink ${LANG_RUSSIAN} "Uninstall"
LangString ^UninstallLink ${LANG_SWEDISH} "Avinstallera"
; eof

View file

@ -1,594 +0,0 @@
; Script generated with the Venis Install Wizard & modified by defnax
; Define your application name
!define APPNAME "RetroShare"
!define VERSION "0.5.4e"
!define REVISION "$WCREV$"
!define APPNAMEANDVERSION "${APPNAME} ${VERSION} ${REVISION}"
!define QTBASE "d:\qt\2010.05"
!define RSBASE "d:\Development\retroshare\retroshare-gui\"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\RetroShare"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "RetroShare_${VERSION}_${REVISION}_setup.exe"
BrandingText "${APPNAMEANDVERSION}"
; Use compression
SetCompressor /SOLID LZMA
; Modern interface settings
!include Sections.nsh
!include "MUI.nsh"
;Interface Settings
!define MUI_ABORTWARNING
;!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "retroshare.bmp" ; optional
# MUI defines
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_LICENSEPAGE_RADIOBUTTONS
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_LINK "$(FINISHPAGELINK)"
!define MUI_FINISHPAGE_LINK_LOCATION "http://retroshare.sourceforge.net/forum/"
!define MUI_FINISHPAGE_RUN "$INSTDIR\RetroShare.exe"
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY}
!define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without havinf to reboot your computer. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
; Defines the un-/installer logo of RetroShare
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Set languages (first is default language)
!insertmacro MUI_RESERVEFILE_LANGDLL
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
;--------------------------------
;Configuration
;!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
LicenseLangString myLicenseData 1030 "license\license.txt"
LicenseLangString myLicenseData 1031 "license\license-GER.txt"
LicenseLangString myLicenseData 1032 "license\license-GR.txt"
LicenseLangString myLicenseData 1033 "license\license.txt"
LicenseLangString myLicenseData 1034 "license\license-SP.txt"
LicenseLangString myLicenseData 1036 "license\license-FR.txt"
LicenseLangString myLicenseData 1040 "license\license-IT.txt"
LicenseLangString myLicenseData 1041 "license\license.txt"
LicenseLangString myLicenseData 1042 "license\license.txt"
LicenseLangString myLicenseData 1045 "license\license.txt"
LicenseLangString myLicenseData 1046 "license\license-PT_BR.txt"
LicenseLangString myLicenseData 1049 "license\license.txt"
LicenseLangString myLicenseData 1053 "license\license.txt"
LicenseLangString myLicenseData 1055 "license\license-TR.txt"
LicenseLangString myLicenseData 2052 "license\license.txt"
LicenseData $(myLicenseData)
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE English
!insertmacro MUI_LANGUAGE Danish
!insertmacro MUI_LANGUAGE French
!insertmacro MUI_LANGUAGE German
!insertmacro MUI_LANGUAGE Greek
!insertmacro MUI_LANGUAGE Italian
!insertmacro MUI_LANGUAGE Japanese
!insertmacro MUI_LANGUAGE Korean
!insertmacro MUI_LANGUAGE Polish
!insertmacro MUI_LANGUAGE PortugueseBR
!insertmacro MUI_LANGUAGE Russian
!insertmacro MUI_LANGUAGE Swedish
!insertmacro MUI_LANGUAGE SimpChinese
!insertmacro MUI_LANGUAGE Spanish
!insertmacro MUI_LANGUAGE Turkish
;Component-selection page
;Titles
LangString sec_main ${LANG_ENGLISH} "Program Files"
LangString sec_data ${LANG_ENGLISH} "Program Skins"
LangString sec_shortcuts ${LANG_ENGLISH} "Shortcuts"
LangString sec_plugins ${LANG_ENGLISH} "Plugins"
LangString sec_link ${LANG_ENGLISH} "File Association"
LangString sec_autostart ${LANG_ENGLISH} "Auto Startup"
LangString DESC_sec_main ${LANG_ENGLISH} "Installs the RetroShare program files."
LangString DESC_sec_plugins ${LANG_ENGLISH} "Installs the RetroShare plugins."
LangString DESC_sec_data ${LANG_ENGLISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_ENGLISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_ENGLISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_ENGLISH} "1033"
LangString sec_main ${LANG_FRENCH} "RetroShare"
LangString sec_data ${LANG_FRENCH} "Programme de Skins"
LangString sec_plugins ${LANG_FRENCH} "Plugins"
LangString sec_shortcuts ${LANG_FRENCH} "Raccourcis"
LangString sec_link ${LANG_FRENCH} "Association de fichiers"
LangString sec_startmenu ${LANG_FRENCH} "Raccourcis du menu Démarrer"
LangString sec_autostart ${LANG_FRENCH} "Démarrage automatique"
LangString DESC_sec_main ${LANG_FRENCH} "Installation des fichiers du programme."
LangString DESC_sec_data ${LANG_FRENCH} "Installation des Skins de RetroShare"
LangString DESC_sec_plugins ${LANG_FRENCH} "Installation des extensions de RetroShare "
LangString DESC_sec_startmenu ${LANG_FRENCH} "Création des raccourcis du menu Démarrer"
LangString DESC_sec_shortcuts ${LANG_FRENCH} "Création de l'icône sur le bureau."
LangString DESC_sec_link ${LANG_FRENCH} "Associer RetroShare avec l'extension de fichier .rsc"
LangString LANGUAGEID ${LANG_FRENCH} "1036"
LangString sec_main ${LANG_GERMAN} "Programme"
LangString sec_data ${LANG_GERMAN} "Programm Skins"
LangString sec_plugins ${LANG_GERMAN} "Plug-ins"
LangString sec_shortcuts ${LANG_GERMAN} "Verknüpfungen"
LangString sec_link ${LANG_GERMAN} "Dateiverknüpfungen"
LangString sec_autostart ${LANG_GERMAN} "Autostart"
LangString DESC_sec_main ${LANG_GERMAN} "Installiert die RetroShare Programmdateien."
LangString DESC_sec_data ${LANG_GERMAN} "Installiert RetroShare Skins"
LangString DESC_sec_plugins ${LANG_GERMAN} "Installiert die RetroShare Erweiterungen."
LangString DESC_sec_shortcuts ${LANG_GERMAN} "RetroShare Verknüpfung im Startmenüe, Desktop oder im Schnellstarter erstellen."
LangString DESC_sec_link ${LANG_GERMAN} "RetroShare mit .rsc Dateiendung verknüpfen"
LangString LANGUAGEID ${LANG_GERMAN} "1031"
LangString sec_main ${LANG_TURKISH} "Program Dosyalar?"
LangString sec_data ${LANG_TURKISH} "Program Skinleri"
LangString sec_shortcuts ${LANG_TURKISH} "Shortcut'lar"
LangString sec_plugins ${LANG_TURKISH} "Eklentiler"
LangString sec_link ${LANG_TURKISH} ".rsc Dosya Kaydet"
LangString sec_autostart ${LANG_TURKISH} "Otomatik calistir ve baglan"
LangString DESC_sec_main ${LANG_TURKISH} "Program dosyalar?n? kurar."
LangString DESC_sec_data ${LANG_TURKISH} "RetroShare Skin'leri kurar"
LangString DESC_sec_plugins ${LANG_TURKISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${TURKISH} "Shortcut yap Start menu , Desktop veya Quicklaunchbar icin."
LangString DESC_sec_link ${LANG_TURKISH} "RetroShare .rsc almas? i?in kaydettirir"
LangString LANGUAGEID ${LANG_TURKISH} "1055"
LangString sec_main ${LANG_SIMPCHINESE} "程序文件"
LangString sec_data ${LANG_SIMPCHINESE} "程序皮肤"
LangString sec_plugins ${LANG_SIMPCHINESE} "Plugins"
LangString sec_shortcuts ${LANG_SIMPCHINESE} "快捷方式"
LangString sec_link ${LANG_SIMPCHINESE} "RetroShare文件关联"
LangString sec_autostart ${LANG_SIMPCHINESE} "自动启动"
LangString DESC_sec_main ${LANG_SIMPCHINESE} "安装RetroShare程序"
LangString DESC_sec_data ${LANG_SIMPCHINESE} "安装RetroShare皮肤"
LangString DESC_sec_plugins ${LANG_SIMPCHINESE} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SIMPCHINESE} "建RetroShare快捷方式"
LangString DESC_sec_link ${LANG_SIMPCHINESE} "关联.rsc扩展名"
LangString LANGUAGEID ${LANG_SIMPCHINESE} "2052"
LangString sec_main ${LANG_POLISH} "Pliki programu"
LangString sec_data ${LANG_POLISH} "Skórki"
LangString sec_plugins ${LANG_POLISH} "Plugins"
LangString sec_shortcuts ${LANG_POLISH} "Skróty"
LangString sec_link ${LANG_POLISH} "Skojarz pliki"
LangString sec_autostart ${LANG_POLISH} "Automatyczne uruchamianie"
LangString DESC_sec_main ${LANG_POLISH} "Instaluje pliki programu RetroShare"
LangString DESC_sec_data ${LANG_POLISH} "Instaluje skórki programu RetroShare"
LangString DESC_sec_plugins ${LANG_POLISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_POLISH} "Utwórz ikony skrótów na pulpicie, w menu start oraz na pasku szybkiego uruchamiania."
LangString DESC_sec_link ${LANG_POLISH} "Skojarz pliki o rozszerzeniu .rsc z RetroShare"
LangString LANGUAGEID ${LANG_POLISH} "1045"
LangString sec_main ${LANG_DANISH} "Program Files"
LangString sec_data ${LANG_DANISH} "Program Skins"
LangString sec_plugins ${LANG_DANISH} "Plugins"
LangString sec_shortcuts ${LANG_DANISH} "Shortcuts"
LangString sec_link ${LANG_DANISH} "File Association"
LangString sec_autostart ${LANG_DANISH} "Auto Startup"
LangString DESC_sec_main ${LANG_DANISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_DANISH} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_DANISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_DANISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_DANISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_DANISH} "1030"
LangString sec_main ${LANG_RUSSIAN} "Program Files"
LangString sec_data ${LANG_RUSSIAN} "Program Skins"
LangString sec_plugins ${LANG_RUSSIAN} "Plugins"
LangString sec_shortcuts ${LANG_RUSSIAN} "Shortcuts"
LangString sec_link ${LANG_RUSSIAN} "File Association"
LangString sec_autostart ${LANG_RUSSIAN} "Auto Startup"
LangString DESC_sec_main ${LANG_RUSSIAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_RUSSIAN} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_RUSSIAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_RUSSIAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_RUSSIAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_RUSSIAN} "1049"
LangString sec_main ${LANG_SWEDISH} "Program Files"
LangString sec_data ${LANG_SWEDISH} "Program Skins"
LangString sec_plugins ${LANG_SWEDISH} "Plugins"
LangString sec_shortcuts ${LANG_SWEDISH} "Shortcuts"
LangString sec_link ${LANG_SWEDISH} "File Association"
LangString sec_autostart ${LANG_SWEDISH} "Auto Startup"
LangString DESC_sec_main ${LANG_SWEDISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_SWEDISH} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_SWEDISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SWEDISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_SWEDISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_SWEDISH} "1053"
LangString sec_main ${LANG_SPANISH} "Archivos de programa"
LangString sec_data ${LANG_SPANISH} "Estilos del programa"
LangString sec_plugins ${LANG_SPANISH} "Plugins"
LangString sec_shortcuts ${LANG_SPANISH} "Accesos directos"
LangString sec_link ${LANG_SPANISH} "Asociación de archivos"
LangString sec_autostart ${LANG_SPANISH} "Inicio automático"
LangString DESC_sec_main ${LANG_SPANISH} "Instala los archivos del programa RetroShare."
LangString DESC_sec_data ${LANG_SPANISH} "Instala los estilos para RetroShare"
LangString DESC_sec_plugins ${LANG_SPANISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SPANISH} "Crear iconos de acceso directo de RetroShare."
LangString DESC_sec_link ${LANG_SPANISH} "Asociar RetroShare con la extensión de archivo .rsc"
LangString LANGUAGEID ${LANG_SPANISH} "1034"
LangString sec_main ${LANG_ITALIAN} "Programmi"
LangString sec_data ${LANG_ITALIAN} "Temi del Programma"
LangString sec_plugins ${LANG_ITALIAN} "Plugins"
LangString sec_shortcuts ${LANG_ITALIAN} "Icone"
LangString sec_link ${LANG_ITALIAN} "Associazione dei File"
LangString sec_autostart ${LANG_ITALIAN} "Esecuzione Automatica"
LangString DESC_sec_main ${LANG_ITALIAN} "Installare i file programma di RetroShare."
LangString DESC_sec_data ${LANG_ITALIAN} "Installare i temi di RetroShare"
LangString DESC_sec_plugins ${LANG_ITALIAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_ITALIAN} "Creare le icone per avviare RetroShare."
LangString DESC_sec_link ${LANG_ITALIAN} "Associa a RetroShare i file con estensione .rsc"
LangString LANGUAGEID ${LANG_ITALIAN} "1040"
LangString sec_main ${LANG_GREEK} "Program Files"
LangString sec_data ${LANG_GREEK} "Program Skins"
LangString sec_plugins ${LANG_GREEK} "Plugins"
LangString sec_shortcuts ${LANG_GREEK} "Shortcuts"
LangString sec_link ${LANG_GREEK} "File Association"
LangString sec_autostart ${LANG_GREEK} "Auto Startup"
LangString DESC_sec_main ${LANG_GREEK} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_GREEK} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_GREEK} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_GREEK} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_GREEK} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_GREEK} "1032"
LangString sec_main ${LANG_PORTUGUESEBR} "Program Files"
LangString sec_data ${LANG_PORTUGUESEBR} "Program Skins"
LangString sec_plugins ${LANG_PORTUGUESEBR} "Plugins"
LangString sec_shortcuts ${LANG_PORTUGUESEBR} "Shortcuts"
LangString sec_link ${LANG_PORTUGUESEBR} "File Association"
LangString sec_autostart ${LANG_PORTUGUESEBR} "Auto Startup"
LangString DESC_sec_main ${LANG_PORTUGUESEBR} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_PORTUGUESEBR} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_PORTUGUESEBR} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_PORTUGUESEBR} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_PORTUGUESEBR} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_PORTUGUESEBR} "1046"
LangString sec_main ${LANG_JAPANESE} "Program Files"
LangString sec_data ${LANG_JAPANESE} "Program Skins"
LangString sec_plugins ${LANG_JAPANESE} "Plugins"
LangString sec_shortcuts ${LANG_JAPANESE} "Shortcuts"
LangString sec_link ${LANG_JAPANESE} "File Association"
LangString sec_autostart ${LANG_JAPANESE} "Auto Startup"
LangString DESC_sec_main ${LANG_JAPANESE} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_JAPANESE} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_JAPANESE} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_JAPANESE} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_JAPANESE} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_JAPANESE} "1041"
LangString sec_main ${LANG_KOREAN} "Program Files"
LangString sec_data ${LANG_KOREAN} "Program Skins"
LangString sec_plugins ${LANG_KOREAN} "Plugins"
LangString sec_shortcuts ${LANG_KOREAN} "Shortcuts"
LangString sec_link ${LANG_KOREAN} "File Association"
LangString sec_autostart ${LANG_KOREAN} "Auto Startup"
LangString DESC_sec_main ${LANG_KOREAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_KOREAN} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_KOREAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_KOREAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_KOREAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_KOREAN} "1042"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
Section $(sec_main) sec_main
;Set Section required
SectionIn RO
; Set Section properties
SetOverwrite on
; Clears previous error logs
Delete "$INSTDIR\*.log"
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\"
File /r "release\RetroShare.exe"
File /r "..\..\retroshare-nogui\src\release\retroshare-nogui.exe"
File /r "${QTBASE}\mingw\bin\mingwm10.dll"
File /r "${QTBASE}\qt\bin\QtCore4.dll"
File /r "${QTBASE}\qt\bin\QtGui4.dll"
File /r "${QTBASE}\qt\bin\QtNetwork4.dll"
File /r "${QTBASE}\qt\bin\QtMultimedia4.dll"
File /r "${QTBASE}\qt\bin\QtXml4.dll"
File /r "${QTBASE}\qt\bin\QtScript4.dll"
File /r "${QTBASE}\qt\bin\QtSvg4.dll"
File /r "${QTBASE}\qt\bin\libgcc_s_dw2-1.dll"
File /r "${QTBASE}\qt\plugins\imageformats"
File /r ${QTBASE}\qt\qt_*.qm
File /r ${RSBASE}\src\qt_*.qm
File /r "release\pthreadGC2d.dll"
File /r "d:\Development\lib\libminiupnpc-1.3\miniupnpc.dll"
File /r "changelog.txt"
File /r /x Data "release\bdboot.txt"
SectionEnd
Section $(sec_data) sec_data
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$APPDATA\RetroShare\"
;File /r "data\*"
; Set Section qss and exclude svn
SetOutPath "$INSTDIR\qss\"
File /r /x .svn qss\*.*
; Set Section sounds and exclude svn
SetOutPath "$INSTDIR\sounds\"
File /r /x .svn sounds\*.*
; Set Section skin
; SetOutPath "$INSTDIR\skin\"
; File /r release\skin\*.*
; Add emoticons
;SetOutPath "$INSTDIR\emoticons\"
;File /r emoticons\*.*
; Add Chat Style
SetOutPath "$APPDATA\RetroShare\stylesheets\"
File /r gui\qss\chat\Bubble
File /r gui\qss\chat\Bubble_Compact
SectionEnd
SectionGroup $(sec_plugins) sec_plugins
Section Voip SEC001
; Set Section properties
SetOverwrite on
; Set Section Plugins
SetOutPath "$APPDATA\RetroShare\extensions\"
File /r "..\..\plugins\VOIP\release\VOIP.dll"
SectionEnd
Section FeedReader SEC002
; Set Section properties
SetOverwrite on
; Set Section Plugins
SetOutPath "$APPDATA\RetroShare\extensions\"
File /r "..\..\plugins\FeedReader\release\FeedReader.dll"
SectionEnd
SectionGroupEnd
Section $(sec_link) sec_link
; Delete any existing keys
; Write the file association
WriteRegStr HKCR .rsc "" retroshare
WriteRegStr HKCR retroshare "" "RSC File"
WriteRegBin HKCR retroshare EditFlags 00000100
WriteRegStr HKCR "retroshare\shell" "" open
WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\RetroShare.exe" "%1"`
SectionEnd
SectionGroup $(sec_shortcuts) sec_shortcuts
Section StartMenu SEC0001
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\$(^UninstallLink).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
SectionEnd
Section Desktop SEC0002
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section Quicklaunchbar SEC0003
CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
SectionGroupEnd
;Section $(sec_autostart) sec_autostart
; WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun" "$INSTDIR\${APPNAME}.exe -a"
;SectionEnd
;Section $(sec_autostart) sec_autostart
; CreateShortCut "$SMSTARTUP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
;SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${sec_main} $(DESC_sec_main)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_data} $(DESC_sec_data)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_plugins} $(DESC_sec_plugins)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_shortcuts} $(DESC_sec_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_link} $(DESC_sec_link)
;!insertmacro MUI_DESCRIPTION_TEXT ${sec_autostart} $(DESC_sec_autostart)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section "Uninstall"
; Remove file association registry keys
DeleteRegKey HKCR .rsc
DeleteRegKey HKCR retroshare
; Remove program/uninstall regsitry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM SOFTWARE\${APPNAME}
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun"
; Remove files and uninstaller
Delete $INSTDIR\RetroShare.exe
Delete $INSTDIR\*.dll
Delete $INSTDIR\*.dat
Delete $INSTDIR\*.txt
Delete $INSTDIR\*.ini
Delete $INSTDIR\*.log
Delete $INSTDIR\uninstall.exe
; Remove the kadc.ini file.
; Don't remove the directory, otherwise
; we lose the XPGP keys.
; Should make this an option though...
Delete "$APPDATA\${APPNAME}\kadc.ini"
Delete "$APPDATA\${APPNAME}\*.cfg"
Delete "$APPDATA\${APPNAME}\*.conf"
Delete "$APPDATA\${APPNAME}\*.log-save"
Delete "$APPDATA\${APPNAME}\*.log"
Delete "$APPDATA\${APPNAME}\*.failed"
RMDir /r "$APPDATA\${APPNAME}\cache"
RMDir /r "$APPDATA\${APPNAME}\Partials"
; Remove shortcuts, if any
Delete "$SMPROGRAMS\${APPNAME}\*.*"
; Remove desktop shortcut
Delete "$DESKTOP\${APPNAME}.lnk"
; Remove Quicklaunch shortcut
Delete "$QUICKLAUNCH\${APPNAME}.lnk"
; Remove Autostart
;Delete "$SMSTARTUP\${APPNAME}.lnk"
; Remove directories used
RMDir "$SMPROGRAMS\${APPNAME}"
RMDir /r "$INSTDIR"
RMDir /r "$INSTDIR\qss"
RMDir /r "$INSTDIR\emoticons"
RMDir /r "$INSTDIR\style"
RMDir /r "$INSTDIR\translations"
SectionEnd
Function .onInit
InitPluginsDir
Push $R1
File /oname=$PLUGINSDIR\spltmp.bmp "gui\images\splash.bmp"
advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp
Pop $R1
Pop $R1
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
LangString FINISHPAGELINK ${LANG_ENGLISH} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_GERMAN} "Das RetroShare Support-Forum besuchen, um Neuigkeiten und Unterstützung zu erfahren"
LangString FINISHPAGELINK ${LANG_TURKISH} "Destek için Retroshare foruma ziyaret et"
LangString FINISHPAGELINK ${LANG_FRENCH} "Consultez le forum RetroShare pour vous tenir au courant des dernieres modifications, et obtenir de l'aide."
LangString FINISHPAGELINK ${LANG_SIMPCHINESE} "帮助论坛"
LangString FINISHPAGELINK ${LANG_POLISH} "Odwiedź forum RetroShare do najświeższych informacji i wsparcia"
LangString FINISHPAGELINK ${LANG_DANISH} "Besøg RetroShare fora for de seneste nyheder og støtte"
LangString FINISHPAGELINK ${LANG_JAPANESE} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_KOREAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_RUSSIAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_SWEDISH} "Besök RetroShare forum för de senaste nyheterna och stöd"
LangString FINISHPAGELINK ${LANG_SPANISH} "Visite los foros de RetroShare para las últimas noticias y soporte"
LangString FINISHPAGELINK ${LANG_ITALIAN} "Visita i forum di RetroShare per le ultime novità ed il supporto"
LangString FINISHPAGELINK ${LANG_GREEK} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_PORTUGUESEBR} "Visit the RetroShare forums for the latest news and support"
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren"
LangString ^UninstallLink ${LANG_TURKISH} "Kald<6C>r"
LangString ^UninstallLink ${LANG_FRENCH} "Désinstaller"
LangString ^UninstallLink ${LANG_SIMPCHINESE} "卸载"
LangString ^UninstallLink ${LANG_POLISH} "Odinstaluj"
LangString ^UninstallLink ${LANG_DANISH} "Afinstaller"
LangString ^UninstallLink ${LANG_JAPANESE} "Uninstall"
LangString ^UninstallLink ${LANG_KOREAN} "Uninstall"
LangString ^UninstallLink ${LANG_RUSSIAN} "Uninstall"
LangString ^UninstallLink ${LANG_SWEDISH} "Avinstallera"
LangString ^UninstallLink ${LANG_SPANISH} "Desinstalar"
LangString ^UninstallLink ${LANG_ITALIAN} "Disinstallare"
LangString ^UninstallLink ${LANG_GREEK} "Απεγκατάσταση"
LangString ^UninstallLink ${LANG_PORTUGUESEBR} "Desinstalar"
; eof

View file

@ -1,595 +0,0 @@
; Script generated with the Venis Install Wizard & modified by defnax
; Define your application name
!define APPNAME "RetroShare"
!define VERSION "0.5.5a"
!define REVISION "6725"
!define APPNAMEANDVERSION "${APPNAME} ${VERSION} ${REVISION}"
!define QTBASE "h:\qt\2010.05"
!define RSBASE "h:\Development\retroshare\retroshare-gui\"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\RetroShare"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "RetroShare_${VERSION}_${REVISION}_setup.exe"
BrandingText "${APPNAMEANDVERSION}"
; Use compression
SetCompressor /SOLID LZMA
; Modern interface settings
!include Sections.nsh
!include "MUI.nsh"
;Interface Settings
!define MUI_ABORTWARNING
;!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "retroshare.bmp" ; optional
# MUI defines
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_LICENSEPAGE_RADIOBUTTONS
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_LINK "$(FINISHPAGELINK)"
!define MUI_FINISHPAGE_LINK_LOCATION "http://retroshare.sourceforge.net/forum/"
!define MUI_FINISHPAGE_RUN "$INSTDIR\RetroShare.exe"
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY}
!define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without havinf to reboot your computer. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
;!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
; Defines the un-/installer logo of RetroShare
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Set languages (first is default language)
!insertmacro MUI_RESERVEFILE_LANGDLL
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
;--------------------------------
;Configuration
;!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
LicenseLangString myLicenseData 1030 "license\license.txt"
LicenseLangString myLicenseData 1031 "license\license-GER.txt"
LicenseLangString myLicenseData 1032 "license\license-GR.txt"
LicenseLangString myLicenseData 1033 "license\license.txt"
LicenseLangString myLicenseData 1034 "license\license-SP.txt"
LicenseLangString myLicenseData 1036 "license\license-FR.txt"
LicenseLangString myLicenseData 1040 "license\license-IT.txt"
LicenseLangString myLicenseData 1041 "license\license.txt"
LicenseLangString myLicenseData 1042 "license\license.txt"
LicenseLangString myLicenseData 1045 "license\license.txt"
LicenseLangString myLicenseData 1046 "license\license-PT_BR.txt"
LicenseLangString myLicenseData 1049 "license\license.txt"
LicenseLangString myLicenseData 1053 "license\license.txt"
LicenseLangString myLicenseData 1055 "license\license-TR.txt"
LicenseLangString myLicenseData 2052 "license\license.txt"
LicenseData $(myLicenseData)
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE English
!insertmacro MUI_LANGUAGE Danish
!insertmacro MUI_LANGUAGE French
!insertmacro MUI_LANGUAGE German
!insertmacro MUI_LANGUAGE Greek
!insertmacro MUI_LANGUAGE Italian
!insertmacro MUI_LANGUAGE Japanese
!insertmacro MUI_LANGUAGE Korean
!insertmacro MUI_LANGUAGE Polish
!insertmacro MUI_LANGUAGE PortugueseBR
!insertmacro MUI_LANGUAGE Russian
!insertmacro MUI_LANGUAGE Swedish
!insertmacro MUI_LANGUAGE SimpChinese
!insertmacro MUI_LANGUAGE Spanish
!insertmacro MUI_LANGUAGE Turkish
;Component-selection page
;Titles
LangString sec_main ${LANG_ENGLISH} "Program Files"
LangString sec_data ${LANG_ENGLISH} "Program Skins"
LangString sec_shortcuts ${LANG_ENGLISH} "Shortcuts"
LangString sec_plugins ${LANG_ENGLISH} "Plugins"
LangString sec_link ${LANG_ENGLISH} "File Association"
LangString sec_autostart ${LANG_ENGLISH} "Auto Startup"
LangString DESC_sec_main ${LANG_ENGLISH} "Installs the RetroShare program files."
LangString DESC_sec_plugins ${LANG_ENGLISH} "Installs the RetroShare plugins."
LangString DESC_sec_data ${LANG_ENGLISH} "Installs RetroShare Skins"
LangString DESC_sec_shortcuts ${LANG_ENGLISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_ENGLISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_ENGLISH} "1033"
LangString sec_main ${LANG_FRENCH} "RetroShare"
LangString sec_data ${LANG_FRENCH} "Programme de Skins"
LangString sec_plugins ${LANG_FRENCH} "Plugins"
LangString sec_shortcuts ${LANG_FRENCH} "Raccourcis"
LangString sec_link ${LANG_FRENCH} "Association de fichiers"
LangString sec_startmenu ${LANG_FRENCH} "Raccourcis du menu Démarrer"
LangString sec_autostart ${LANG_FRENCH} "Démarrage automatique"
LangString DESC_sec_main ${LANG_FRENCH} "Installation des fichiers du programme."
LangString DESC_sec_data ${LANG_FRENCH} "Installation des Skins de RetroShare"
LangString DESC_sec_plugins ${LANG_FRENCH} "Installation des extensions de RetroShare "
LangString DESC_sec_startmenu ${LANG_FRENCH} "Création des raccourcis du menu Démarrer"
LangString DESC_sec_shortcuts ${LANG_FRENCH} "Création de l'icône sur le bureau."
LangString DESC_sec_link ${LANG_FRENCH} "Associer RetroShare avec l'extension de fichier .rsc"
LangString LANGUAGEID ${LANG_FRENCH} "1036"
LangString sec_main ${LANG_GERMAN} "Programme"
LangString sec_data ${LANG_GERMAN} "Programm Skins"
LangString sec_plugins ${LANG_GERMAN} "Plug-ins"
LangString sec_shortcuts ${LANG_GERMAN} "Verknüpfungen"
LangString sec_link ${LANG_GERMAN} "Dateiverknüpfungen"
LangString sec_autostart ${LANG_GERMAN} "Autostart"
LangString DESC_sec_main ${LANG_GERMAN} "Installiert die RetroShare Programmdateien."
LangString DESC_sec_data ${LANG_GERMAN} "Installiert RetroShare Skins"
LangString DESC_sec_plugins ${LANG_GERMAN} "Installiert die RetroShare Erweiterungen."
LangString DESC_sec_shortcuts ${LANG_GERMAN} "RetroShare Verknüpfung im Startmenüe, Desktop oder im Schnellstarter erstellen."
LangString DESC_sec_link ${LANG_GERMAN} "RetroShare mit .rsc Dateiendung verknüpfen"
LangString LANGUAGEID ${LANG_GERMAN} "1031"
LangString sec_main ${LANG_TURKISH} "Program Dosyalar?"
LangString sec_data ${LANG_TURKISH} "Program Skinleri"
LangString sec_shortcuts ${LANG_TURKISH} "Shortcut'lar"
LangString sec_plugins ${LANG_TURKISH} "Eklentiler"
LangString sec_link ${LANG_TURKISH} ".rsc Dosya Kaydet"
LangString sec_autostart ${LANG_TURKISH} "Otomatik calistir ve baglan"
LangString DESC_sec_main ${LANG_TURKISH} "Program dosyalar?n? kurar."
LangString DESC_sec_data ${LANG_TURKISH} "RetroShare Skin'leri kurar"
LangString DESC_sec_plugins ${LANG_TURKISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${TURKISH} "Shortcut yap Start menu , Desktop veya Quicklaunchbar icin."
LangString DESC_sec_link ${LANG_TURKISH} "RetroShare .rsc almas? i?in kaydettirir"
LangString LANGUAGEID ${LANG_TURKISH} "1055"
LangString sec_main ${LANG_SIMPCHINESE} "程序文件"
LangString sec_data ${LANG_SIMPCHINESE} "程序皮肤"
LangString sec_plugins ${LANG_SIMPCHINESE} "Plugins"
LangString sec_shortcuts ${LANG_SIMPCHINESE} "快捷方式"
LangString sec_link ${LANG_SIMPCHINESE} "RetroShare文件关联"
LangString sec_autostart ${LANG_SIMPCHINESE} "自动启动"
LangString DESC_sec_main ${LANG_SIMPCHINESE} "安装RetroShare程序"
LangString DESC_sec_data ${LANG_SIMPCHINESE} "安装RetroShare皮肤"
LangString DESC_sec_plugins ${LANG_SIMPCHINESE} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SIMPCHINESE} "建RetroShare快捷方式"
LangString DESC_sec_link ${LANG_SIMPCHINESE} "关联.rsc扩展名"
LangString LANGUAGEID ${LANG_SIMPCHINESE} "2052"
LangString sec_main ${LANG_POLISH} "Pliki programu"
LangString sec_data ${LANG_POLISH} "Skórki"
LangString sec_plugins ${LANG_POLISH} "Plugins"
LangString sec_shortcuts ${LANG_POLISH} "Skróty"
LangString sec_link ${LANG_POLISH} "Skojarz pliki"
LangString sec_autostart ${LANG_POLISH} "Automatyczne uruchamianie"
LangString DESC_sec_main ${LANG_POLISH} "Instaluje pliki programu RetroShare"
LangString DESC_sec_data ${LANG_POLISH} "Instaluje skórki programu RetroShare"
LangString DESC_sec_plugins ${LANG_POLISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_POLISH} "Utwórz ikony skrótów na pulpicie, w menu start oraz na pasku szybkiego uruchamiania."
LangString DESC_sec_link ${LANG_POLISH} "Skojarz pliki o rozszerzeniu .rsc z RetroShare"
LangString LANGUAGEID ${LANG_POLISH} "1045"
LangString sec_main ${LANG_DANISH} "Program Files"
LangString sec_data ${LANG_DANISH} "Program Skins"
LangString sec_plugins ${LANG_DANISH} "Plugins"
LangString sec_shortcuts ${LANG_DANISH} "Shortcuts"
LangString sec_link ${LANG_DANISH} "File Association"
LangString sec_autostart ${LANG_DANISH} "Auto Startup"
LangString DESC_sec_main ${LANG_DANISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_DANISH} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_DANISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_DANISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_DANISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_DANISH} "1030"
LangString sec_main ${LANG_RUSSIAN} "Program Files"
LangString sec_data ${LANG_RUSSIAN} "Program Skins"
LangString sec_plugins ${LANG_RUSSIAN} "Plugins"
LangString sec_shortcuts ${LANG_RUSSIAN} "Shortcuts"
LangString sec_link ${LANG_RUSSIAN} "File Association"
LangString sec_autostart ${LANG_RUSSIAN} "Auto Startup"
LangString DESC_sec_main ${LANG_RUSSIAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_RUSSIAN} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_RUSSIAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_RUSSIAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_RUSSIAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_RUSSIAN} "1049"
LangString sec_main ${LANG_SWEDISH} "Program Files"
LangString sec_data ${LANG_SWEDISH} "Program Skins"
LangString sec_plugins ${LANG_SWEDISH} "Plugins"
LangString sec_shortcuts ${LANG_SWEDISH} "Shortcuts"
LangString sec_link ${LANG_SWEDISH} "File Association"
LangString sec_autostart ${LANG_SWEDISH} "Auto Startup"
LangString DESC_sec_main ${LANG_SWEDISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_SWEDISH} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_SWEDISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SWEDISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_SWEDISH} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_SWEDISH} "1053"
LangString sec_main ${LANG_SPANISH} "Archivos de programa"
LangString sec_data ${LANG_SPANISH} "Estilos del programa"
LangString sec_plugins ${LANG_SPANISH} "Plugins"
LangString sec_shortcuts ${LANG_SPANISH} "Accesos directos"
LangString sec_link ${LANG_SPANISH} "Asociación de archivos"
LangString sec_autostart ${LANG_SPANISH} "Inicio automático"
LangString DESC_sec_main ${LANG_SPANISH} "Instala los archivos del programa RetroShare."
LangString DESC_sec_data ${LANG_SPANISH} "Instala los estilos para RetroShare"
LangString DESC_sec_plugins ${LANG_SPANISH} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_SPANISH} "Crear iconos de acceso directo de RetroShare."
LangString DESC_sec_link ${LANG_SPANISH} "Asociar RetroShare con la extensión de archivo .rsc"
LangString LANGUAGEID ${LANG_SPANISH} "1034"
LangString sec_main ${LANG_ITALIAN} "Programmi"
LangString sec_data ${LANG_ITALIAN} "Temi del Programma"
LangString sec_plugins ${LANG_ITALIAN} "Plugins"
LangString sec_shortcuts ${LANG_ITALIAN} "Icone"
LangString sec_link ${LANG_ITALIAN} "Associazione dei File"
LangString sec_autostart ${LANG_ITALIAN} "Esecuzione Automatica"
LangString DESC_sec_main ${LANG_ITALIAN} "Installare i file programma di RetroShare."
LangString DESC_sec_data ${LANG_ITALIAN} "Installare i temi di RetroShare"
LangString DESC_sec_plugins ${LANG_ITALIAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_ITALIAN} "Creare le icone per avviare RetroShare."
LangString DESC_sec_link ${LANG_ITALIAN} "Associa a RetroShare i file con estensione .rsc"
LangString LANGUAGEID ${LANG_ITALIAN} "1040"
LangString sec_main ${LANG_GREEK} "Program Files"
LangString sec_data ${LANG_GREEK} "Program Skins"
LangString sec_plugins ${LANG_GREEK} "Plugins"
LangString sec_shortcuts ${LANG_GREEK} "Shortcuts"
LangString sec_link ${LANG_GREEK} "File Association"
LangString sec_autostart ${LANG_GREEK} "Auto Startup"
LangString DESC_sec_main ${LANG_GREEK} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_GREEK} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_GREEK} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_GREEK} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_GREEK} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_GREEK} "1032"
LangString sec_main ${LANG_PORTUGUESEBR} "Program Files"
LangString sec_data ${LANG_PORTUGUESEBR} "Program Skins"
LangString sec_plugins ${LANG_PORTUGUESEBR} "Plugins"
LangString sec_shortcuts ${LANG_PORTUGUESEBR} "Shortcuts"
LangString sec_link ${LANG_PORTUGUESEBR} "File Association"
LangString sec_autostart ${LANG_PORTUGUESEBR} "Auto Startup"
LangString DESC_sec_main ${LANG_PORTUGUESEBR} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_PORTUGUESEBR} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_PORTUGUESEBR} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_PORTUGUESEBR} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_PORTUGUESEBR} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_PORTUGUESEBR} "1046"
LangString sec_main ${LANG_JAPANESE} "Program Files"
LangString sec_data ${LANG_JAPANESE} "Program Skins"
LangString sec_plugins ${LANG_JAPANESE} "Plugins"
LangString sec_shortcuts ${LANG_JAPANESE} "Shortcuts"
LangString sec_link ${LANG_JAPANESE} "File Association"
LangString sec_autostart ${LANG_JAPANESE} "Auto Startup"
LangString DESC_sec_main ${LANG_JAPANESE} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_JAPANESE} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_JAPANESE} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_JAPANESE} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_JAPANESE} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_JAPANESE} "1041"
LangString sec_main ${LANG_KOREAN} "Program Files"
LangString sec_data ${LANG_KOREAN} "Program Skins"
LangString sec_plugins ${LANG_KOREAN} "Plugins"
LangString sec_shortcuts ${LANG_KOREAN} "Shortcuts"
LangString sec_link ${LANG_KOREAN} "File Association"
LangString sec_autostart ${LANG_KOREAN} "Auto Startup"
LangString DESC_sec_main ${LANG_KOREAN} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_KOREAN} "Installs RetroShare Skins"
LangString DESC_sec_plugins ${LANG_KOREAN} "Installs the RetroShare plugins."
LangString DESC_sec_shortcuts ${LANG_KOREAN} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_KOREAN} "Associate RetroShare with .rsc file extension"
LangString LANGUAGEID ${LANG_KOREAN} "1042"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
Section $(sec_main) sec_main
;Set Section required
SectionIn RO
; Set Section properties
SetOverwrite on
; Clears previous error logs
Delete "$INSTDIR\*.log"
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\"
File /r "release\RetroShare.exe"
File /r "..\..\retroshare-nogui\src\release\retroshare-nogui.exe"
File /r "${QTBASE}\mingw\bin\mingwm10.dll"
File /r "${QTBASE}\qt\bin\QtCore4.dll"
File /r "${QTBASE}\qt\bin\QtGui4.dll"
File /r "${QTBASE}\qt\bin\QtNetwork4.dll"
File /r "${QTBASE}\qt\bin\QtMultimedia4.dll"
File /r "${QTBASE}\qt\bin\QtXml4.dll"
File /r "${QTBASE}\qt\bin\QtScript4.dll"
File /r "${QTBASE}\qt\bin\QtSvg4.dll"
File /r "${QTBASE}\qt\bin\libgcc_s_dw2-1.dll"
File /r "${QTBASE}\qt\plugins\imageformats"
File /r ${QTBASE}\qt\qt_*.qm
File /r ${RSBASE}\src\qt_*.qm
File /r "release\pthreadGC2d.dll"
File /r "h:\Development\lib\libminiupnpc-1.3\miniupnpc.dll"
File /r "changelog.txt"
File /r /x Data "release\bdboot.txt"
SectionEnd
Section $(sec_data) sec_data
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$APPDATA\RetroShare\"
;File /r "data\*"
; Set Section qss and exclude svn
SetOutPath "$INSTDIR\qss\"
File /r /x .svn qss\*.*
; Set Section sounds and exclude svn
SetOutPath "$INSTDIR\sounds\"
File /r /x .svn sounds\*.*
; Set Section skin
; SetOutPath "$INSTDIR\skin\"
; File /r release\skin\*.*
; Add emoticons
;SetOutPath "$INSTDIR\emoticons\"
;File /r emoticons\*.*
; Add Chat Style
SetOutPath "$APPDATA\RetroShare\stylesheets\"
File /r gui\qss\chat\Bubble
File /r gui\qss\chat\Bubble_Compact
SectionEnd
SectionGroup $(sec_plugins) sec_plugins
Section Voip SEC001
; Set Section properties
SetOverwrite on
; Set Section Plugins
SetOutPath "$APPDATA\RetroShare\extensions\"
File /r "..\..\plugins\VOIP\release\VOIP.dll"
SectionEnd
Section FeedReader SEC002
; Set Section properties
SetOverwrite on
; Set Section Plugins
SetOutPath "$APPDATA\RetroShare\extensions\"
File /r "..\..\plugins\FeedReader\release\FeedReader.dll"
SectionEnd
SectionGroupEnd
Section $(sec_link) sec_link
; Delete any existing keys
; Write the file association
WriteRegStr HKCR .rsc "" retroshare
WriteRegStr HKCR retroshare "" "RSC File"
WriteRegBin HKCR retroshare EditFlags 00000100
WriteRegStr HKCR "retroshare\shell" "" open
WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\RetroShare.exe" "%1"`
SectionEnd
SectionGroup $(sec_shortcuts) sec_shortcuts
Section StartMenu SEC0001
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
CreateShortCut "$SMPROGRAMS\${APPNAME}\$(^UninstallLink).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
SectionEnd
Section Desktop SEC0002
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
Section Quicklaunchbar SEC0003
CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
SectionGroupEnd
;Section $(sec_autostart) sec_autostart
; WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun" "$INSTDIR\${APPNAME}.exe -a"
;SectionEnd
;Section $(sec_autostart) sec_autostart
; CreateShortCut "$SMSTARTUP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
;SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${sec_main} $(DESC_sec_main)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_data} $(DESC_sec_data)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_plugins} $(DESC_sec_plugins)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_shortcuts} $(DESC_sec_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_link} $(DESC_sec_link)
;!insertmacro MUI_DESCRIPTION_TEXT ${sec_autostart} $(DESC_sec_autostart)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section "Uninstall"
; Remove file association registry keys
DeleteRegKey HKCR .rsc
DeleteRegKey HKCR retroshare
; Remove program/uninstall regsitry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM SOFTWARE\${APPNAME}
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun"
; Remove files and uninstaller
Delete $INSTDIR\RetroShare.exe
Delete $INSTDIR\*.dll
Delete $INSTDIR\*.dat
Delete $INSTDIR\*.txt
Delete $INSTDIR\*.ini
Delete $INSTDIR\*.log
Delete $INSTDIR\uninstall.exe
; Remove the kadc.ini file.
; Don't remove the directory, otherwise
; we lose the XPGP keys.
; Should make this an option though...
Delete "$APPDATA\${APPNAME}\kadc.ini"
Delete "$APPDATA\${APPNAME}\*.cfg"
Delete "$APPDATA\${APPNAME}\*.conf"
Delete "$APPDATA\${APPNAME}\*.log-save"
Delete "$APPDATA\${APPNAME}\*.log"
Delete "$APPDATA\${APPNAME}\*.failed"
RMDir /r "$APPDATA\${APPNAME}\cache"
RMDir /r "$APPDATA\${APPNAME}\Partials"
; Remove shortcuts, if any
Delete "$SMPROGRAMS\${APPNAME}\*.*"
; Remove desktop shortcut
Delete "$DESKTOP\${APPNAME}.lnk"
; Remove Quicklaunch shortcut
Delete "$QUICKLAUNCH\${APPNAME}.lnk"
; Remove Autostart
;Delete "$SMSTARTUP\${APPNAME}.lnk"
; Remove directories used
RMDir "$SMPROGRAMS\${APPNAME}"
RMDir /r "$INSTDIR"
RMDir /r "$INSTDIR\qss"
RMDir /r "$INSTDIR\emoticons"
RMDir /r "$INSTDIR\style"
RMDir /r "$INSTDIR\translations"
SectionEnd
Function .onInit
InitPluginsDir
Push $R1
File /oname=$PLUGINSDIR\spltmp.bmp "gui\images\splash.bmp"
advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp
Pop $R1
Pop $R1
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
LangString FINISHPAGELINK ${LANG_ENGLISH} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_GERMAN} "Das RetroShare Support-Forum besuchen, um Neuigkeiten und Unterstützung zu erfahren"
LangString FINISHPAGELINK ${LANG_TURKISH} "Destek için Retroshare foruma ziyaret et"
LangString FINISHPAGELINK ${LANG_FRENCH} "Consultez le forum RetroShare pour vous tenir au courant des dernieres modifications, et obtenir de l'aide."
LangString FINISHPAGELINK ${LANG_SIMPCHINESE} "帮助论坛"
LangString FINISHPAGELINK ${LANG_POLISH} "Odwiedź forum RetroShare do najświeższych informacji i wsparcia"
LangString FINISHPAGELINK ${LANG_DANISH} "Besøg RetroShare fora for de seneste nyheder og støtte"
LangString FINISHPAGELINK ${LANG_JAPANESE} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_KOREAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_RUSSIAN} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_SWEDISH} "Besök RetroShare forum för de senaste nyheterna och stöd"
LangString FINISHPAGELINK ${LANG_SPANISH} "Visite los foros de RetroShare para las últimas noticias y soporte"
LangString FINISHPAGELINK ${LANG_ITALIAN} "Visita i forum di RetroShare per le ultime novità ed il supporto"
LangString FINISHPAGELINK ${LANG_GREEK} "Visit the RetroShare forums for the latest news and support"
LangString FINISHPAGELINK ${LANG_PORTUGUESEBR} "Visit the RetroShare forums for the latest news and support"
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren"
LangString ^UninstallLink ${LANG_TURKISH} "Kald<EFBFBD>r"
LangString ^UninstallLink ${LANG_FRENCH} "Désinstaller"
LangString ^UninstallLink ${LANG_SIMPCHINESE} "卸载"
LangString ^UninstallLink ${LANG_POLISH} "Odinstaluj"
LangString ^UninstallLink ${LANG_DANISH} "Afinstaller"
LangString ^UninstallLink ${LANG_JAPANESE} "Uninstall"
LangString ^UninstallLink ${LANG_KOREAN} "Uninstall"
LangString ^UninstallLink ${LANG_RUSSIAN} "Uninstall"
LangString ^UninstallLink ${LANG_SWEDISH} "Avinstallera"
LangString ^UninstallLink ${LANG_SPANISH} "Desinstalar"
LangString ^UninstallLink ${LANG_ITALIAN} "Disinstallare"
LangString ^UninstallLink ${LANG_GREEK} "Απεγκατάσταση"
LangString ^UninstallLink ${LANG_PORTUGUESEBR} "Desinstalar"
; eof