summaryrefslogtreecommitdiffstats
path: root/scribus/annot.cpp
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/annot.cpp
downloadscribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/annot.cpp')
-rw-r--r--scribus/annot.cpp2282
1 files changed, 2282 insertions, 0 deletions
diff --git a/scribus/annot.cpp b/scribus/annot.cpp
new file mode 100644
index 0000000..4bb6ac3
--- /dev/null
+++ b/scribus/annot.cpp
@@ -0,0 +1,2282 @@
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+#include "annot.h"
+
+#include <QHBoxLayout>
+#include <QGridLayout>
+#include <QVBoxLayout>
+#include <QStackedWidget>
+#include <QGroupBox>
+#include <QTextEdit>
+#include <QLabel>
+#include <QFrame>
+#include <QComboBox>
+#include <QLineEdit>
+#include <QCheckBox>
+#include <QPushButton>
+#include <QSpinBox>
+#include <QTabWidget>
+#include <QWidget>
+#include <QRadioButton>
+#include <QList>
+#include <QStringList>
+#include <QSpacerItem>
+#include <QToolTip>
+#include <QDateTime>
+#include <QPixmap>
+
+#include "annotation.h"
+#include "buttonicon.h"
+#include "cmsettings.h"
+#include "colorcombo.h"
+#include "colorlistbox.h"
+#include "commonstrings.h"
+#include "customfdialog.h"
+#include "editor.h"
+#include "propertiespalette.h"
+#include "navigator.h"
+#include "pageitem.h"
+#include "prefscontext.h"
+#include "prefsfile.h"
+#include "prefsmanager.h"
+#include "sccombobox.h"
+#include "scfonts.h"
+#include "scimage.h"
+#include "scribusstructs.h"
+#include "scribusview.h"
+#include "selfield.h"
+#include "util_formats.h"
+#include "util_icon.h"
+#include "util.h"
+
+Annot::Annot(QWidget* parent, PageItem *it, int Seite, int b, int h, ColorList Farben, ScribusView* vie)
+ : QDialog( parent )
+{
+ ScribusDoc* doc = Farben.document();
+ setModal(true);
+ setWindowTitle( tr( "Field Properties" ) );
+ setWindowIcon(QIcon(loadIcon ( "AppIcon.png" )));
+ item = it;
+ Width = b;
+ Height = h;
+ OriWidth = b;
+ OriHeight = h;
+ view = vie;
+ MaxSeite = Seite;
+ QStringList tl;
+ dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
+ if ((item->annotation().ActionType() == 2) || (item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9))
+ {
+ QString tm = item->annotation().Action();
+ tl = tm.split(" ", QString::SkipEmptyParts);
+ }
+ else
+ {
+ tl.append("0");
+ tl.append("0");
+ }
+
+ AnnotLayout = new QVBoxLayout( this );
+ AnnotLayout->setSpacing( 5 );
+ AnnotLayout->setMargin( 10 );
+
+ Layout1 = new QHBoxLayout;
+ Layout1->setSpacing( 5 );
+ Layout1->setMargin( 0 );
+
+ TextLabel1 = new QLabel( this );
+ TextLabel1->setText( tr( "Type:" ) );
+ Layout1->addWidget( TextLabel1 );
+
+ ComboBox1 = new QComboBox( this );
+ QString tmp[] = { tr("Button"), tr("Text Field"), tr("Check Box"), tr("Combo Box"), tr("List Box")};
+ size_t array = sizeof(tmp) / sizeof(*tmp);
+ for (uint a = 0; a < array; ++a)
+ ComboBox1->addItem(tmp[a]);
+ ComboBox1->setEditable(false);
+ Layout1->addWidget( ComboBox1 );
+ AnnotLayout->addLayout( Layout1 );
+ ComboBox1->setCurrentIndex(item->annotation().Type()-2);
+
+ Fram = new QStackedWidget(this);
+ AnnotLayout->addWidget( Fram );
+
+ GroupBox10 = new QGroupBox( this );
+// GroupBox10->setFixedSize(QSize(360, 350));
+// GroupBox10->setGeometry( QRect( 11, 41, 360, 350 ) );
+ GroupBox10->setTitle( tr( "Properties" ) );
+ GroupBox10Layout = new QVBoxLayout( GroupBox10 );
+ GroupBox10Layout->setSpacing( 5 );
+ GroupBox10Layout->setMargin( 10 );
+ GroupBox10Layout->setAlignment( Qt::AlignTop );
+
+ Layout60 = new QGridLayout;
+ Layout60->setSpacing( 5 );
+ Layout60->setMargin( 0 );
+ TextLabel20 = new QLabel( GroupBox10 );
+ TextLabel20->setText( tr( "Name:" ) );
+ Layout60->addWidget( TextLabel20, 0, 0 );
+
+ Tip = new QLineEdit( GroupBox10 );
+ Tip->setText(item->annotation().ToolTip());
+ Layout60->addWidget( Tip, 1, 1 );
+
+ Name = new NameWidget(GroupBox10);
+ Name->setText(item->itemName());
+ Layout60->addWidget( Name, 0, 1 );
+ OldName = item->itemName();
+
+ TextLabel30 = new QLabel( GroupBox10 );
+ TextLabel30->setText( tr( "Tooltip:" ) );
+ Layout60->addWidget( TextLabel30, 1, 0);
+ GroupBox10Layout->addLayout( Layout60 );
+
+ TabWidget2 = new QTabWidget( GroupBox10 );
+
+ tab = new QWidget( TabWidget2 );
+ tabLayout = new QVBoxLayout(tab);
+ tabLayout->setSpacing( 5 );
+ tabLayout->setMargin( 10 );
+
+ GroupBox40 = new QGroupBox( tab );
+ GroupBox40->setTitle( tr( "Text" ) );
+ GroupBox40Layout = new QGridLayout( GroupBox40 );
+ GroupBox40Layout->setSpacing( 5 );
+ GroupBox40Layout->setMargin( 10 );
+ GroupBox40Layout->setAlignment( Qt::AlignTop );
+ TextLabel60 = new QLabel( GroupBox40 );
+ TextLabel60->setText( tr( "Font for use with PDF 1.3:" ) );
+ GroupBox40Layout->addWidget( TextLabel60, 0, 0 );
+ Schrift = new QComboBox(GroupBox40);
+ /* PFJ - 28/02/04 - Altered from char* to QString. Renamed to fonts and the
+ loop changed from uint to int and the name to propogate */
+ /* FS - 08.03.04 - loop variable must be uint otherwise you get a compiler warning */
+ QString fonts[]={"Courier", "Courier Bold", "Courier Italic",
+ "Courier Bold Italic", "Helvetica",
+ "Helvetica Bold", "Helvetica Italic", "Helvetica Bold Italic",
+ "Times", "Times Bold",
+ "Times Italic", "Times Bold Italic", "Zapf Dingbats",
+ "Symbols"};
+ size_t fontsArray = sizeof(fonts) / sizeof(*fonts);
+ for (uint propogate = 0; propogate < fontsArray; ++propogate)
+ Schrift->addItem(fonts[propogate]);
+ Schrift->setEditable(false);
+ Schrift->setCurrentIndex(item->annotation().Font());
+ GroupBox40Layout->addWidget( Schrift, 0, 1, 1, 2);
+ tabLayout->addWidget( GroupBox40 );
+
+ Layout10 = new QHBoxLayout;
+ Layout10->setSpacing( 5 );
+ Layout10->setMargin( 0 );
+ GroupBox20 = new QGroupBox( tab );
+ GroupBox20->setTitle( tr( "Border" ) );
+ GroupBox20Layout = new QGridLayout( GroupBox20 );
+ GroupBox20Layout->setSpacing( 5 );
+ GroupBox20Layout->setMargin( 10 );
+ GroupBox20Layout->setAlignment( Qt::AlignTop );
+ TextLabel40a = new QLabel( GroupBox20 );
+ TextLabel40a->setText( tr( "Color:" ) );
+ GroupBox20Layout->addWidget( TextLabel40a, 0, 0 );
+ BorderC = new ColorCombo( false, GroupBox20);
+ ColorList::Iterator cit;
+ BorderC->addItem(CommonStrings::tr_NoneColor);
+ if (item->annotation().borderColor() == CommonStrings::None)
+ BorderC->setCurrentIndex(BorderC->count()-1);
+ for (cit = Farben.begin(); cit != Farben.end(); ++cit)
+ {
+ BorderC->insertFancyItem(cit.value(), doc, cit.key());
+ if (cit.key() == item->annotation().borderColor())
+ BorderC->setCurrentIndex(BorderC->count()-1);
+ }
+ GroupBox20Layout->addWidget( BorderC, 0, 1 );
+ TextLabel40 = new QLabel( GroupBox20 );
+ TextLabel40->setText( tr( "Width:" ) );
+ GroupBox20Layout->addWidget( TextLabel40, 1, 0 );
+ BorderW = new QComboBox( GroupBox20 );
+ // PFJ - 28/02/04 - Altered to the QString/size_t/for style
+ QString borders[] = {CommonStrings::tr_NoneColor, tr("Thin"), tr("Normal"), tr("Wide")};
+ size_t bordersArray = sizeof(borders) / sizeof(*borders);
+ for (uint propogate = 0; propogate < bordersArray; ++propogate)
+ BorderW->addItem(borders[propogate]);
+ BorderW->setEditable(false);
+ BorderW->setCurrentIndex(item->annotation().Bwid());
+ GroupBox20Layout->addWidget( BorderW, 1, 1 );
+ TextLabel50 = new QLabel( GroupBox20 );
+ TextLabel50->setText( tr( "Style:" ) );
+ GroupBox20Layout->addWidget( TextLabel50, 2, 0 );
+ BorderS = new QComboBox( GroupBox20 );
+ /* PFJ - 28/02/04 - Altered to the QString/size_t/for style */
+ QString borders2[] = {tr("Solid"), tr("Dashed"), tr("Underline"),
+ tr("Beveled"), tr("Inset")};
+ size_t borders2Array = sizeof(borders2) / sizeof(*borders2);
+ for (uint propogate = 0; propogate < borders2Array; ++propogate)
+ BorderS->addItem(borders2[propogate]);
+ BorderS->setEditable(false);
+ BorderS->setCurrentIndex(item->annotation().Bsty());
+ GroupBox20Layout->addWidget( BorderS, 2, 1 );
+ Layout10->addWidget( GroupBox20 );
+
+ GroupBox30 = new QGroupBox( tab );
+ GroupBox30->setTitle( tr( "Other" ) );
+ GroupBox30Layout = new QGridLayout( GroupBox30 );
+ GroupBox30Layout->setSpacing( 5 );
+ GroupBox30Layout->setMargin( 10 );
+ GroupBox30Layout->setAlignment( Qt::AlignTop );
+ ReadOnly = new QCheckBox( GroupBox30 );
+ ReadOnly->setText( tr( "Read Only" ) );
+ if (item->annotation().Type() == 2)
+ ReadOnly->setEnabled(false);
+ ReadOnly->setChecked(item->annotation().Flag() & 1);
+ GroupBox30Layout->addWidget( ReadOnly, 0, 0, 1, 2 );
+ Required = new QCheckBox( GroupBox30 );
+ Required->setText( tr( "Required" ) );
+ if (item->annotation().Type() == 2)
+ Required->setEnabled(false);
+ Required->setChecked(item->annotation().Flag() & 2);
+ GroupBox30Layout->addWidget( Required, 1, 0, 1, 2 );
+ NoExport = new QCheckBox( GroupBox30 );
+ NoExport->setText( tr( "Do Not Export Value" ) );
+ if (item->annotation().Type() == 2)
+ NoExport->setEnabled(false);
+ NoExport->setChecked(item->annotation().Flag() & 4);
+ GroupBox30Layout->addWidget( NoExport, 2, 0, 1, 2 );
+ TextLabel90 = new QLabel( GroupBox30 );
+ TextLabel90->setText( tr( "Visibility:" ) );
+ GroupBox30Layout->addWidget( TextLabel90, 3, 0 );
+ Visib = new QComboBox( GroupBox30 );
+ /* PFJ - 28/02/04 - Altered to the QString/size_t/for style */
+ QString visible[] = {tr("Visible"), tr("Hidden"), tr("No Print"),
+ tr("No View")};
+ size_t visibleArray = sizeof(visible) / sizeof(*visible);
+ for (uint propogate = 0; propogate < visibleArray; ++propogate)
+ Visib->addItem(visible[propogate]);
+ Visib->setEditable(false);
+ Visib->setCurrentIndex(item->annotation().Vis());
+ GroupBox30Layout->addWidget( Visib, 3, 1 );
+ Layout10->addWidget( GroupBox30 );
+ tabLayout->addLayout( Layout10 );
+ TabWidget2->addTab( tab, tr( "Appearance" ) );
+
+ tab_3 = new QWidget( TabWidget2 );
+ tabLayout_3 = new QVBoxLayout( tab_3 );
+ tabLayout_3->setSpacing( 5 );
+ tabLayout_3->setMargin( 10 );
+ FramOp = new QStackedWidget(tab_3);
+ Frame4a = new QFrame( tab_3 );
+ Frame4aLayout = new QGridLayout( Frame4a );
+ Frame4aLayout->setSpacing( 0 );
+ Frame4aLayout->setMargin( 0 );
+ GroupBox40a = new QGroupBox( Frame4a );
+ GroupBox40a->setTitle( tr( "Text" ) );
+ GroupBox40aLayout = new QGridLayout( GroupBox40a );
+ GroupBox40aLayout->setSpacing( 5 );
+ GroupBox40aLayout->setMargin( 10 );
+ GroupBox40aLayout->setAlignment( Qt::AlignTop );
+ CheckBox30 = new QLabel( GroupBox40a );
+ CheckBox30->setText( tr( "Text for Button Down" ) );
+ GroupBox40aLayout->addWidget( CheckBox30, 0, 0, 1, 2 );
+ CheckBox40 = new QLabel( GroupBox40a );
+ CheckBox40->setText( tr( "Text for Roll Over" ) );
+ GroupBox40aLayout->addWidget( CheckBox40, 1, 0, 1, 2 );
+ DownT = new QLineEdit( GroupBox40a );
+ DownT->setText(item->annotation().Down());
+ GroupBox40aLayout->addWidget( DownT, 0, 2 );
+ TextO = new QLineEdit( GroupBox40a );
+ TextO->setText(item->annotation().RollOver());
+ GroupBox40aLayout->addWidget( TextO, 1, 2 );
+ Frame4aLayout->addWidget( GroupBox40a, 0, 0, 1, 2 );
+
+ OptIcons = new QGroupBox( Frame4a );
+ OptIcons->setTitle( tr( "Icons" ) );
+ OptIconsLayout = new QVBoxLayout( OptIcons );
+ OptIconsLayout->setSpacing( 5 );
+ OptIconsLayout->setMargin( 10 );
+ OptIconsLayout->setAlignment( Qt::AlignTop );
+ UseIcons = new QCheckBox(OptIcons);
+ UseIcons->setText( tr("Use Icons"));
+ UseIcons->setChecked(item->annotation().UseIcons());
+ OptIconsLayout->addWidget(UseIcons);
+ Layout17 = new QHBoxLayout;
+ Layout17->setSpacing( 5 );
+ Layout17->setMargin( 0 );
+
+ Layout14 = new QGridLayout;
+ Layout14->setSpacing( 5 );
+ Layout14->setMargin( 0 );
+ IconN = new QPushButton( OptIcons );
+ IconN->setText( tr( "Normal" ) );
+ Layout14->addWidget( IconN, 0, 0, 1, 3);
+ NiconPrev = new QLabel( OptIcons );
+ NiconPrev->setMinimumSize( QSize( 25, 25 ) );
+ NiconPrev->setMaximumSize( QSize( 25, 25 ) );
+ NiconPrev->setFrameShape( QLabel::Panel );
+ NiconPrev->setFrameShadow( QLabel::Raised );
+ NiconPrev->setScaledContents( true );
+ Layout14->addWidget( NiconPrev, 1, 1 );
+ IconNR = new QPushButton( OptIcons );
+ IconNR->setText( tr( "Remove" ) );
+ Layout14->addWidget( IconNR, 2, 0, 1, 3);
+ Layout17->addLayout( Layout14 );
+
+ Layout15 = new QGridLayout;
+ Layout15->setSpacing( 5 );
+ Layout15->setMargin( 0 );
+ IconP = new QPushButton( OptIcons );
+ IconP->setText( tr( "Pressed" ) );
+ Layout15->addWidget( IconP, 0, 0, 1, 3 );
+ PiconPrev = new QLabel( OptIcons );
+ PiconPrev->setMinimumSize( QSize( 25, 25 ) );
+ PiconPrev->setMaximumSize( QSize( 25, 25 ) );
+ PiconPrev->setFrameShape( QLabel::Panel );
+ PiconPrev->setFrameShadow( QLabel::Raised );
+ PiconPrev->setScaledContents( true );
+ Layout15->addWidget( PiconPrev, 1, 1 );
+ IconPR = new QPushButton( OptIcons );
+ IconPR->setText( tr( "Remove" ) );
+ Layout15->addWidget( IconPR, 2, 0, 1, 3);
+ Layout17->addLayout( Layout15 );
+
+ Layout16 = new QGridLayout;
+ Layout16->setSpacing( 5 );
+ Layout16->setMargin( 0 );
+ IconR = new QPushButton( OptIcons );
+ IconR->setText( tr( "Roll Over" ) );
+ Layout16->addWidget( IconR, 0, 0, 1, 3 );
+ RiconPrev = new QLabel( OptIcons );
+ RiconPrev->setMinimumSize( QSize( 25, 25 ) );
+ RiconPrev->setMaximumSize( QSize( 25, 25 ) );
+ RiconPrev->setFrameShape( QLabel::Panel );
+ RiconPrev->setFrameShadow( QLabel::Raised );
+ RiconPrev->setScaledContents( true );
+ Layout16->addWidget( RiconPrev, 1, 1 );
+ IconRR = new QPushButton( OptIcons );
+ IconRR->setText( tr( "Remove" ) );
+ Layout16->addWidget( IconRR, 2, 0, 1, 3);
+ Layout17->addLayout( Layout16 );
+ OptIconsLayout->addLayout( Layout17 );
+
+ Layout18 = new QHBoxLayout;
+ Layout18->setSpacing( 5 );
+ Layout18->setMargin( 0 );
+ PlaceIcon = new QPushButton( OptIcons );
+ PlaceIcon->setText( tr( "Icon Placement..." ) );
+ Layout18->addWidget( PlaceIcon );
+ QSpacerItem* spacer_2x = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ Layout18->addItem( spacer_2x );
+ OptIconsLayout->addLayout( Layout18 );
+ IconNR->setEnabled(false);
+ IconPR->setEnabled(false);
+ IconRR->setEnabled(false);
+ if (!UseIcons->isChecked())
+ {
+ IconN->setEnabled(false);
+ IconP->setEnabled(false);
+ IconR->setEnabled(false);
+ NiconPrev->setEnabled(false);
+ PiconPrev->setEnabled(false);
+ RiconPrev->setEnabled(false);
+ PlaceIcon->setEnabled(false);
+ }
+ else
+ {
+ QPixmap pmI1;
+ ScImage im;
+ CMSettings cms(view->Doc, "", Intent_Perceptual);
+ if (!item->Pfile.isEmpty())
+ {
+ im.LoadPicture(item->Pfile, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(im.qImage());
+ NiconPrev->setPixmap(pmI1);
+ IconNR->setEnabled(true);
+ }
+ if (!item->Pfile2.isEmpty())
+ {
+ im.LoadPicture(item->Pfile2, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(im.qImage());
+ PiconPrev->setPixmap(pmI1);
+ IconPR->setEnabled(true);
+ }
+ if (!item->Pfile3.isEmpty())
+ {
+ im.LoadPicture(item->Pfile3, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(im.qImage());
+ RiconPrev->setPixmap(pmI1);
+ IconRR->setEnabled(true);
+ }
+ }
+ Frame4aLayout->addWidget( OptIcons, 1, 0 );
+
+ GroupBox30a = new QGroupBox( Frame4a );
+ GroupBox30a->setTitle( tr( "Highlight" ) );
+ GroupBox30aLayout = new QGridLayout( GroupBox30a );
+ GroupBox30aLayout->setSpacing( 5 );
+ GroupBox30aLayout->setMargin( 10 );
+ GroupBox30aLayout->setAlignment( Qt::AlignTop );
+ ComboBox7_2 = new QComboBox(GroupBox30a);
+ // PFJ - 28/02/04 - Altered to QString/size_t/for style
+ QString combo[] = {tr("None", "highlight"), tr("Invert"), tr("Outlined"), tr("Push")};
+ size_t comboArray = sizeof(combo) / sizeof(*combo);
+ for (uint propogate = 0; propogate < comboArray; ++propogate)
+ ComboBox7_2->addItem(combo[propogate]);
+ ComboBox7_2->setEditable(false);
+ ComboBox7_2->setCurrentIndex(item->annotation().Feed());
+ GroupBox30aLayout->addWidget( ComboBox7_2, 0, 0 );
+ Frame4aLayout->addWidget( GroupBox30a, 1, 1 );
+ FramOp->addWidget( Frame4a );
+
+ OptTextFeld = new QGroupBox( tab_3 );
+ OptTextFeld->setTitle( "" );
+ OptTextFeldLayout = new QVBoxLayout( OptTextFeld );
+ OptTextFeldLayout->setSpacing( 5 );
+ OptTextFeldLayout->setMargin( 10 );
+ OptTextFeldLayout->setAlignment( Qt::AlignTop );
+ MultiL = new QCheckBox( OptTextFeld );
+ MultiL->setText( tr( "Multi-Line" ) );
+ MultiL->setChecked(item->annotation().Flag() & 4096);
+ OptTextFeldLayout->addWidget( MultiL );
+ Passwd = new QCheckBox( OptTextFeld );
+ Passwd->setText( tr( "Password" ) );
+ Passwd->setChecked(item->annotation().Flag() & 8192);
+ OptTextFeldLayout->addWidget( Passwd );
+ Layout8 = new QHBoxLayout;
+ Layout8->setSpacing( 5 );
+ Layout8->setMargin( 0 );
+ Limit = new QCheckBox( OptTextFeld );
+ Limit->setText( tr( "Limit of" ) );
+ Layout8->addWidget( Limit );
+ MaxChars = new QSpinBox( OptTextFeld );
+ MaxChars->setMinimum(0);
+ MaxChars->setMaximum(32768);
+ bool setter = item->annotation().MaxChar() != -1 ? true : false;
+ MaxChars->setValue(setter == true ? item->annotation().MaxChar() : 0);
+ Limit->setChecked(setter);
+ MaxChars->setEnabled(setter);
+ Layout8->addWidget( MaxChars );
+ TextLabel2_2 = new QLabel( OptTextFeld );
+ TextLabel2_2->setText( tr( "Characters" ) );
+ Layout8->addWidget( TextLabel2_2 );
+ QSpacerItem* spacer_2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ Layout8->addItem( spacer_2 );
+ OptTextFeldLayout->addLayout( Layout8 );
+ NoScroll = new QCheckBox( OptTextFeld );
+ NoScroll->setText( tr( "Do Not Scroll" ) );
+ NoScroll->setChecked(item->annotation().Flag() & 8388608);
+ OptTextFeldLayout->addWidget( NoScroll );
+ NoSpell = new QCheckBox( OptTextFeld );
+ NoSpell->setText( tr( "Do Not Spell Check" ) );
+ NoSpell->setChecked(item->annotation().Flag() & 4194304);
+ OptTextFeldLayout->addWidget( NoSpell );
+ FramOp->addWidget( OptTextFeld );
+
+ OptCheck = new QGroupBox( tab_3 );
+ OptCheck->setTitle( "" );
+ OptCheckLayout = new QVBoxLayout( OptCheck );
+ OptCheckLayout->setSpacing( 5 );
+ OptCheckLayout->setMargin( 10 );
+ OptCheckLayout->setAlignment( Qt::AlignTop );
+ ChkLayout = new QHBoxLayout;
+ ChkLayout->setSpacing( 5 );
+ ChkLayout->setMargin( 0 );
+ CText1 = new QLabel( OptCheck );
+ CText1->setText( tr( "Check Style:" ) );
+ ChkLayout->addWidget( CText1 );
+ ChkStil = new QComboBox( OptCheck );
+ QString tmp_chkstil2[]={ tr("Check"), tr("Cross"), tr("Diamond"), tr("Circle"), tr("Star"), tr("Square")};
+ size_t array_chk2 = sizeof(tmp_chkstil2) / sizeof(*tmp_chkstil2);
+ /* PFJ - 28/02/04 - Altered from uint to int and altered var name */
+ for (uint propogate = 0; propogate < array_chk2; ++propogate)
+ ChkStil->addItem(tmp_chkstil2[propogate]);
+
+ ChkStil->setEditable(false);
+ ChkStil->setCurrentIndex(item->annotation().ChkStil());
+ ChkLayout->addWidget( ChkStil );
+ QSpacerItem* spacerC = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ ChkLayout->addItem( spacerC );
+ OptCheckLayout->addLayout( ChkLayout );
+
+ isChkd = new QCheckBox( OptCheck );
+ isChkd->setText( tr( "Default is Checked" ) );
+ isChkd->setChecked(item->annotation().IsChk());
+ OptCheckLayout->addWidget( isChkd );
+ FramOp->addWidget( OptCheck );
+
+ OptCombo = new QGroupBox( tab_3 );
+ OptCombo->setTitle( "" );
+ OptComboLayout = new QVBoxLayout( OptCombo );
+ OptComboLayout->setSpacing( 5 );
+ OptComboLayout->setMargin( 10 );
+ OptComboLayout->setAlignment( Qt::AlignTop );
+ CanEdit = new QCheckBox( OptCombo );
+ CanEdit->setText( tr( "Editable" ) );
+ CanEdit->setChecked(item->annotation().Flag() & 262144);
+ OptComboLayout->addWidget( CanEdit );
+ FramOp->addWidget( OptCombo );
+
+ tabLayout_3->addWidget( FramOp );
+
+ TabWidget2->addTab( tab_3, tr( "Options" ) );
+
+ tab_2 = new QWidget( TabWidget2 );
+ tabLayout_2 = new QVBoxLayout( tab_2 );
+ tabLayout_2->setSpacing( 5 );
+ tabLayout_2->setMargin( 10 );
+
+ Layout20 = new QHBoxLayout;
+ Layout20->setSpacing( 5 );
+ Layout20->setMargin( 0 );
+
+ TextLabel70 = new QLabel( tab_2 );
+ TextLabel70->setText( tr( "Type:" ) );
+ Layout20->addWidget( TextLabel70 );
+
+ ActionCombo = new QComboBox(tab_2);
+ QString tmp_actcom[] = { tr("None", "action"), tr("JavaScript"), tr("Go To"),
+ tr("Submit Form"), tr("Reset Form"), tr("Import Data")};
+ size_t array_act = sizeof(tmp_actcom) / sizeof(*tmp_actcom);
+ /* PFJ - 28/02/04 - Altered from uint to int and var name */
+ for (uint propogate = 0; propogate < array_act; ++propogate)
+ ActionCombo->addItem(tmp_actcom[propogate]);
+ ActionCombo->setEditable(false);
+ int tmpac = item->annotation().ActionType();
+ if (item->annotation().ActionType() < 0)
+ tmpac = 1;
+ ActionCombo->setCurrentIndex(tmpac == 7 ? 2 : tmpac);
+
+ Layout20->addWidget( ActionCombo );
+ tabLayout_2->addLayout( Layout20 );
+
+ Fram2 = new QStackedWidget(tab_2);
+ tabLayout_2->addWidget( Fram2 );
+
+ Frame4 = new QFrame( tab_2 );
+ Frame4->setFrameShape( QFrame::NoFrame );
+ Frame4->setFrameShadow( QFrame::Raised );
+ Fram2->addWidget( Frame4 );
+
+ Frame3 = new QFrame( tab_2 );
+ Frame3->setFrameShape( QFrame::Box );
+ Frame3->setFrameShadow( QFrame::Sunken );
+ Frame3Layout = new QVBoxLayout( Frame3 );
+ Frame3Layout->setSpacing( 5 );
+ Frame3Layout->setMargin( 10 );
+ Layout7 = new QHBoxLayout;
+ Layout7->setSpacing( 5 );
+ Layout7->setMargin( 0 );
+ AcText1 = new QLabel( Frame3 );
+ AcText1->setText( tr( "Event:" ) );
+ Layout7->addWidget( AcText1 );
+ SelAction = new QComboBox(Frame3);
+ QString tmp_selact[]={ tr("Mouse Up"), tr("Mouse Down"), tr("Mouse Enter"),
+ tr("Mouse Exit"), tr("On Focus"), tr("On Blur")};
+ size_t array_sel = sizeof(tmp_selact) / sizeof(*tmp_selact);
+ /* PFJ - 28/02/04 - Altered from uint to int and var name */
+ for (uint propogate = 0; propogate < array_sel; ++propogate)
+ SelAction->addItem(tmp_selact[propogate]);
+ SelAction->setEditable(false);
+ Layout7->addWidget( SelAction );
+ QSpacerItem* spacerac = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ Layout7->addItem( spacerac );
+ Frame3Layout->addLayout( Layout7 );
+ AcText2 = new QLabel( Frame3 );
+ AcText2->setText( tr( "Script:" ) );
+ Frame3Layout->addWidget( AcText2 );
+ Layout71 = new QHBoxLayout;
+ Layout71->setSpacing( 5 );
+ Layout71->setMargin( 0 );
+ EditJava = new QTextEdit( Frame3 );
+ QPalette palTxt = EditJava->palette();
+ palTxt.setColor(QPalette::Base, palette().color(QPalette::Window));
+ if ((item->annotation().ActionType() == 1) || (item->annotation().AAact()))
+ EditJava->setPlainText(item->annotation().Action());
+ ScrEdited = 0;
+ SelAction->setCurrentIndex(0);
+ EditJava->setReadOnly(true);
+ EditJava->setAutoFillBackground(true);
+ EditJava->setPalette(palTxt);
+ EditJava->setMinimumSize( QSize( 0, 50 ) );
+ EditJava->setFocusPolicy(Qt::NoFocus);
+ Layout71->addWidget( EditJava );
+ EditJ = new QPushButton( Frame3 );
+ EditJ->setText( tr( "Edit..." ) );
+ Layout71->addWidget( EditJ );
+ Frame3Layout->addLayout( Layout71 );
+ Fram2->addWidget( Frame3 );
+
+ GroupBox11 = new QGroupBox( tab_2 );
+ GroupBox11->setTitle( tr( "Destination" ) );
+ GroupBox11Layout = new QGridLayout( GroupBox11 );
+ GroupBox11Layout->setSpacing( 5 );
+ GroupBox11Layout->setMargin( 10 );
+ GroupBox11Layout->setAlignment( Qt::AlignTop );
+ LExtern = new QCheckBox(GroupBox11);
+ LExtern->setText( tr("To File:"));
+ GroupBox11Layout->addWidget( LExtern, 0, 0 );
+ Destfile = new QLineEdit(GroupBox11);
+ Destfile->setText(item->annotation().Extern());
+ Destfile->setReadOnly(true);
+ GroupBox11Layout->addWidget( Destfile, 0, 1 );
+ ChFile = new QPushButton(GroupBox11);
+ ChFile->setText( tr("Change..."));
+ GroupBox11Layout->addWidget( ChFile, 0, 2 );
+ useAbsolute = new QCheckBox( tr("Export absolute Filename"), GroupBox11);
+ GroupBox11Layout->addWidget( useAbsolute, 1, 0, 1, 3 );
+ if (item->annotation().ActionType() == 7)
+ useAbsolute->setChecked(false);
+ else if (item->annotation().ActionType() == 9)
+ useAbsolute->setChecked(true);
+ TextLabel31 = new QLabel( GroupBox11 );
+ TextLabel31->setText( tr( "Page:" ) );
+ GroupBox11Layout->addWidget( TextLabel31, 2, 0 );
+ SpinBox11 = new QSpinBox( GroupBox11 );
+ SpinBox11->setMinimum(1);
+ SpinBox11->setMaximum(((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9)) ? 1000 : Seite);
+ SpinBox11->setValue(qMin(item->annotation().Ziel()+1, Seite));
+ GroupBox11Layout->addWidget( SpinBox11, 2, 1 );
+ if ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9))
+ Pg1 = new Navigator( GroupBox11, 100, item->annotation().Ziel()+1, view, item->annotation().Extern());
+ else
+ Pg1 = new Navigator( GroupBox11, 100, qMin(item->annotation().Ziel(), Seite-1), view);
+ Pg1->setMinimumSize(QSize(Pg1->pmx.width(), Pg1->pmx.height()));
+ GroupBox11Layout->addWidget(Pg1, 2, 2, 3, 1);
+ TextLabel41 = new QLabel( GroupBox11 );
+ TextLabel41->setText( tr( "X-Pos:" ) );
+ GroupBox11Layout->addWidget( TextLabel41, 3, 0 );
+ SpinBox21 = new QSpinBox( GroupBox11 );
+ SpinBox21->setSuffix( tr( " pt" ) );
+ SpinBox21->setMaximum(Width);
+ SpinBox21->setValue(tl[0].toInt());
+ GroupBox11Layout->addWidget( SpinBox21, 3, 1 );
+ TextLabel51 = new QLabel( GroupBox11 );
+ TextLabel51->setText( tr( "Y-Pos:" ) );
+ GroupBox11Layout->addWidget( TextLabel51, 4, 0 );
+ SpinBox31 = new QSpinBox( GroupBox11 );
+ SpinBox31->setMaximum(Height);
+ SpinBox31->setSuffix( tr( " pt" ) );
+ SpinBox31->setValue(Height-tl[1].toInt());
+ GroupBox11Layout->addWidget( SpinBox31, 4, 1 );
+ Fram2->addWidget(GroupBox11);
+
+ Frame3b = new QFrame( tab_2 );
+ Frame3b->setFrameShape( QFrame::Box );
+ Frame3b->setFrameShadow( QFrame::Sunken );
+ Frame3bLayout = new QVBoxLayout( Frame3b );
+ Frame3bLayout->setSpacing( 5 );
+ Frame3bLayout->setMargin( 10 );
+ SubText1 = new QLabel( Frame3b );
+ SubText1->setText( tr( "Submit to URL:" ) );
+ Frame3bLayout->addWidget( SubText1 );
+ SubURL = new QLineEdit( Frame3b );
+ Frame3bLayout->addWidget( SubURL );
+ if (item->annotation().ActionType() == 3)
+ SubURL->setText(item->annotation().Action());
+// SubAsHtml = new QCheckBox( Frame3b );
+// SubAsHtml->setChecked(item->annotation().HTML());
+// SubAsHtml->setText( tr( "Submit Data as HTML" ) );
+// Frame3bLayout->addWidget( SubAsHtml );
+
+ SubText2 = new QLabel( Frame3b );
+ SubText2->setText( tr( "Submit format:" ) );
+ Frame3bLayout->addWidget( SubText2 );
+ SelAsHtml = new QComboBox( Frame3b );
+ QString tmp_selhtml[]={tr("FDF"), tr("HTML"), tr("XFDF"), tr("PDF")};
+ //QString tmp_selhtml[]={"FDF", "HTML", "XFDF", "PDF"};
+ size_t array_selhtml = sizeof(tmp_selhtml) / sizeof(*tmp_selhtml);
+ /* PFJ - 28/02/04 - Altered from uint to int and var name */
+ for (uint propogate2 = 0; propogate2 < array_selhtml; ++propogate2)
+ SelAsHtml->addItem(tmp_selhtml[propogate2]);
+ SelAsHtml->setEditable(false);
+ SelAsHtml->setCurrentIndex(item->annotation().HTML());
+ Frame3bLayout->addWidget( SelAsHtml );
+
+
+ QSpacerItem* spacerSu = new QSpacerItem( 2, 2, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ Frame3bLayout->addItem( spacerSu);
+ Fram2->addWidget( Frame3b );
+
+ Frame3c = new QFrame( tab_2 );
+ Frame3c->setFrameShape( QFrame::Box );
+ Frame3c->setFrameShadow( QFrame::Sunken );
+ Frame3cLayout = new QVBoxLayout( Frame3c );
+ Frame3cLayout->setSpacing( 5 );
+ Frame3cLayout->setMargin( 10 );
+ SubText1a = new QLabel( Frame3c );
+ SubText1a->setText( tr( "Import Data from:" ) );
+ Frame3cLayout->addWidget( SubText1a );
+ SubURLa = new QLineEdit( Frame3c );
+ Frame3cLayout->addWidget( SubURLa );
+ if (item->annotation().ActionType() == 5)
+ SubURLa->setText(item->annotation().Action());
+ QSpacerItem* spacerSua = new QSpacerItem( 2, 2, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ Frame3cLayout->addItem( spacerSua);
+ Fram2->addWidget( Frame3c );
+ TabWidget2->addTab( tab_2, tr( "Action" ) );
+ if ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9))
+ {
+ LExtern->setChecked(true);
+ if (!Destfile->text().isEmpty())
+ {
+ Width = Pg1->Width;
+ Height = Pg1->Height;
+ }
+ else
+ {
+ Destfile->setEnabled(false);
+ ChFile->setEnabled(false);
+ LExtern->setChecked(false);
+ }
+ }
+ else
+ {
+ Destfile->setEnabled(false);
+ ChFile->setEnabled(false);
+ LExtern->setChecked(false);
+ }
+
+ tab4 = new QWidget( TabWidget2 );
+ Layout = new QVBoxLayout( tab4 );
+ Layout->setSpacing( 5 );
+ Layout->setMargin( 10 );
+ FLayout = new QHBoxLayout;
+ FLayout->setSpacing( 5 );
+ FLayout->setMargin( 0 );
+ TextForm1 = new QLabel( tab4 );
+ TextForm1->setText( tr( "Field is formatted as:" ) );
+ FLayout->addWidget( TextForm1 );
+ TxFormat = new QComboBox(tab4);
+ QString tmp_txf[]={ tr("Plain"), tr("Number"), tr("Percentage"), tr("Date"), tr("Time"), tr("Custom")};
+ size_t array_txf = sizeof(tmp_txf) / sizeof(*tmp_txf);
+ for (uint a = 0; a < array_txf; ++a)
+ TxFormat->addItem(tmp_txf[a]);
+ TxFormat->setEditable(false);
+ TxFormat->setCurrentIndex(item->annotation().Format());
+ FLayout->addWidget( TxFormat );
+ QSpacerItem* spacer_3 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ FLayout->addItem( spacer_3 );
+ Layout->addLayout( FLayout );
+ FoFram = new QStackedWidget(tab4);
+
+ FoFrameNone = new QFrame( tab4 );
+ FoFrameNone->setFrameShape( QFrame::NoFrame );
+ FoFrameNone->setFrameShadow( QFrame::Plain );
+ FoFram->addWidget(FoFrameNone);
+
+ NumbGroup = new QGroupBox( tab4 );
+ NumbGroup->setTitle( tr( "Number Format" ) );
+ NumbGroupLayout = new QVBoxLayout( NumbGroup );
+ NumbGroupLayout->setSpacing( 5 );
+ NumbGroupLayout->setMargin( 10 );
+ NumbGroupLayout->setAlignment( Qt::AlignTop );
+ LayoutFN1 = new QHBoxLayout;
+ LayoutFN1->setSpacing( 5 );
+ LayoutFN1->setMargin( 0 );
+ TextNu1 = new QLabel( NumbGroup );
+ TextNu1->setText( tr( "Decimals:" ) );
+ LayoutFN1->addWidget( TextNu1 );
+ Decim = new QSpinBox( NumbGroup );
+ Decim->setMinimum(0);
+ Decim->setMaximum(12);
+ Decim->setValue(0);
+ LayoutFN1->addWidget( Decim );
+ QSpacerItem* spacer_4 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ LayoutFN1->addItem( spacer_4 );
+ NumbGroupLayout->addLayout( LayoutFN1 );
+ LayoutFN2 = new QHBoxLayout;
+ LayoutFN2->setSpacing( 5 );
+ LayoutFN2->setMargin( 0 );
+ UseCurr = new QCheckBox( NumbGroup );
+ UseCurr->setText( tr( "Use Currency Symbol" ) );
+ LayoutFN2->addWidget( UseCurr );
+ CurSym = new QLineEdit( NumbGroup );
+ LayoutFN2->addWidget( CurSym );
+ CurSym->setEnabled(false);
+ QSpacerItem* spacer_5 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ LayoutFN2->addItem( spacer_5 );
+ NumbGroupLayout->addLayout( LayoutFN2 );
+ PreCurr = new QCheckBox( NumbGroup );
+ PreCurr->setText( tr( "Prepend Currency Symbol" ) );
+ PreCurr->setEnabled(false);
+ NumbGroupLayout->addWidget( PreCurr );
+ NumGroup2 = new QGroupBox( NumbGroup );
+ NumGroup2->setTitle( tr( "Formatting" ) );
+ NumGroup2Layout = new QGridLayout( NumGroup2 );
+ NumGroup2Layout->setSpacing( 5 );
+ NumGroup2Layout->setMargin( 10 );
+ NumGroup2Layout->setAlignment( Qt::AlignTop );
+ Format0 = new QRadioButton( NumGroup2 );
+ Format0->setText("9,999.99");
+ Format0->setChecked( true );
+ FormNum = 0;
+ NumGroup2Layout->addWidget( Format0, 0, 0 );
+ Format1 = new QRadioButton( NumGroup2 );
+ Format1->setText("9999.99");
+ NumGroup2Layout->addWidget( Format1, 1, 0 );
+ Format2 = new QRadioButton( NumGroup2 );
+ Format2->setText("9.999,99");
+ NumGroup2Layout->addWidget( Format2, 0, 1 );
+ Format3 = new QRadioButton( NumGroup2 );
+ Format3->setText("9999,99");
+ NumGroup2Layout->addWidget( Format3, 1, 1 );
+ NumbGroupLayout->addWidget( NumGroup2 );
+ FoFram->addWidget(NumbGroup);
+
+ PercGroup = new QGroupBox( tab4 );
+ PercGroup->setTitle( tr( "Percent Format" ) );
+ PercGroupLayout = new QVBoxLayout( PercGroup );
+ PercGroupLayout->setSpacing( 5 );
+ PercGroupLayout->setMargin( 10 );
+ PercGroupLayout->setAlignment( Qt::AlignTop );
+ LayoutFN1a = new QHBoxLayout;
+ LayoutFN1a->setSpacing( 5 );
+ LayoutFN1a->setMargin( 0 );
+ TextNu1a = new QLabel( PercGroup );
+ TextNu1a->setText( tr( "Decimals:" ) );
+ LayoutFN1a->addWidget( TextNu1a );
+ Decim2 = new QSpinBox( PercGroup );
+ Decim2->setMinimum(0);
+ Decim2->setMaximum(12);
+ Decim2->setValue(0);
+ LayoutFN1a->addWidget( Decim2 );
+ QSpacerItem* spacer_4a = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ LayoutFN1a->addItem( spacer_4a );
+ PercGroupLayout->addLayout( LayoutFN1a );
+ NumGroup2a = new QGroupBox( PercGroup );
+ NumGroup2a->setTitle( tr( "Formatting" ) );
+ NumGroup2aLayout = new QGridLayout( NumGroup2a );
+ NumGroup2aLayout->setSpacing( 5 );
+ NumGroup2aLayout->setMargin( 10 );
+ NumGroup2aLayout->setAlignment( Qt::AlignTop );
+ Format0a = new QRadioButton( NumGroup2a );
+ Format0a->setText("9,999.99");
+ Format0a->setChecked( true );
+ FormNum = 0;
+ NumGroup2aLayout->addWidget( Format0a, 0, 0 );
+ Format1a = new QRadioButton( NumGroup2a );
+ Format1a->setText("9999.99");
+ NumGroup2aLayout->addWidget( Format1a, 1, 0 );
+ Format2a = new QRadioButton( NumGroup2a );
+ Format2a->setText("9.999,99");
+ NumGroup2aLayout->addWidget( Format2a, 0, 1 );
+ Format3a = new QRadioButton( NumGroup2a );
+ Format3a->setText("9999,99");
+ NumGroup2aLayout->addWidget( Format3a, 1, 1 );
+ PercGroupLayout->addWidget( NumGroup2a );
+ FoFram->addWidget(PercGroup);
+
+ DateGroup = new QGroupBox( tab4 );
+ DateGroup->setTitle( tr( "Date Format" ) );
+ DateGroupLayout = new QVBoxLayout( DateGroup );
+ DateGroupLayout->setSpacing( 5 );
+ DateGroupLayout->setMargin( 10 );
+ DateGroupLayout->setAlignment( Qt::AlignTop );
+ LayoutFN1c = new QHBoxLayout;
+ LayoutFN1c->setSpacing( 5 );
+ LayoutFN1c->setMargin( 0 );
+ Format0c = new QComboBox(DateGroup);
+ QString tmp_form[] = {"m/d", "m/d/yy", "mm/dd/yy", "mm/yy", "d-mmm", "d-mmm-yy", "dd-mmm-yy", "dd/mm/yy", "dd/mm/yyyy", "dd.mm.yyyy", "yy-mm-dd",
+ "mmm-yy", "mmmm-yy", "mmm d, yyyy", "mmmm d, yyyy", "m/d/yy h:MM tt", "m/d/yy HH:MM", "yyyy-mm-dd"};
+ size_t array_form = sizeof(tmp_form) / sizeof(*tmp_form);
+ /* PFJ - 28/02/04 - Altered from uint to int and var name */
+ for (uint prop = 0; prop < array_form; ++prop)
+ Format0c->addItem(tmp_form[prop]);
+ Format0c->setEditable(false);
+ LayoutFN1c->addWidget( Format0c );
+ QSpacerItem* spacer_4c = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ LayoutFN1c->addItem( spacer_4c );
+ DateGroupLayout->addLayout( LayoutFN1c );
+ TextDa1 = new QLabel( DateGroup );
+ TextDa1->setText( "" );
+ DateGroupLayout->addWidget( TextDa1 );
+ FoFram->addWidget(DateGroup);
+
+ TimeGroup = new QGroupBox( tab4 );
+ TimeGroup->setTitle( tr( "Time Format" ) );
+ TimeGroupLayout = new QVBoxLayout( TimeGroup );
+ TimeGroupLayout->setSpacing( 5 );
+ TimeGroupLayout->setMargin( 10 );
+ TimeGroupLayout->setAlignment( Qt::AlignTop );
+ Format0b = new QRadioButton( TimeGroup );
+ Format0b->setText("HH:MM");
+ Format0b->setChecked( true );
+ FormNum = 0;
+ TimeGroupLayout->addWidget( Format0b);
+ Format1b = new QRadioButton( TimeGroup );
+ Format1b->setText("h:MM tt");
+ TimeGroupLayout->addWidget( Format1b);
+ Format2b = new QRadioButton( TimeGroup );
+ Format2b->setText("HH:MM:ss");
+ TimeGroupLayout->addWidget( Format2b);
+ Format3b = new QRadioButton( TimeGroup );
+ Format3b->setText("h:MM:ss tt");
+ TimeGroupLayout->addWidget( Format3b);
+ FoFram->addWidget(TimeGroup);
+
+ GroupCust = new QGroupBox( tab4 );
+ GroupCust->setTitle( tr( "Custom Scripts" ) );
+ GroupCustLayout = new QVBoxLayout( GroupCust );
+ GroupCustLayout->setSpacing( 5 );
+ GroupCustLayout->setMargin( 10 );
+ GroupCustLayout->setAlignment( Qt::AlignTop );
+ FLayout3 = new QVBoxLayout;
+ FLayout3->setSpacing( 5 );
+ FLayout3->setMargin( 0 );
+ FLayout2 = new QHBoxLayout;
+ FLayout2->setSpacing( 5 );
+ FLayout2->setMargin( 0 );
+ TextForm2 = new QLabel( GroupCust );
+ TextForm2->setText( tr( "Format:" ) );
+ FLayout2->addWidget( TextForm2 );
+ EditFormat = new QPushButton( GroupCust );
+ EditFormat->setText( tr( "Edit..." ) );
+ EditFormat->setAutoDefault( false );
+ if (item->annotation().Format() != 5)
+ EditFormat->setEnabled( false );
+ FLayout2->addWidget( EditFormat );
+ FLayout3->addLayout( FLayout2 );
+ FormatScript = new QTextEdit( GroupCust );
+ if (item->annotation().Format() == 5)
+ FormatScript->setPlainText( item->annotation().F_act() );
+ FormatScript->setReadOnly(true);
+ FormatScript->setAutoFillBackground(true);
+ FormatScript->setPalette(palTxt);
+ FormatScript->setMaximumSize(QSize(32000,50));
+ FormatScript->setFocusPolicy(Qt::NoFocus);
+ FLayout3->addWidget( FormatScript );
+ GroupCustLayout->addLayout( FLayout3 );
+ FLayout5 = new QVBoxLayout;
+ FLayout5->setSpacing( 5 );
+ FLayout5->setMargin( 0 );
+ FLayout4 = new QHBoxLayout;
+ FLayout4->setSpacing( 5 );
+ FLayout4->setMargin( 0 );
+ TextForm3 = new QLabel( GroupCust );
+ TextForm3->setText( tr( "Keystroke:" ) );
+ FLayout4->addWidget( TextForm3 );
+ EditKeystr = new QPushButton( GroupCust );
+ EditKeystr->setText( tr( "Edit..." ) );
+ EditKeystr->setAutoDefault( false );
+ if (item->annotation().Format() != 5)
+ EditKeystr->setEnabled( false );
+ FLayout4->addWidget( EditKeystr );
+ FLayout5->addLayout( FLayout4 );
+ KeyScript = new QTextEdit( GroupCust );
+ if (item->annotation().Format() == 5)
+ KeyScript->setPlainText( item->annotation().K_act() );
+ KeyScript->setReadOnly(true);
+ KeyScript->setAutoFillBackground(true);
+ KeyScript->setPalette(palTxt);
+ KeyScript->setMaximumSize(QSize(32000,50));
+ KeyScript->setFocusPolicy(Qt::NoFocus);
+ FLayout5->addWidget( KeyScript );
+ GroupCustLayout->addLayout( FLayout5 );
+ FoFram->addWidget(GroupCust);
+
+ DecodeNum();
+
+ Layout->addWidget( FoFram );
+ TabWidget2->addTab( tab4, tr( "Format" ) );
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab4), false);
+
+ tab_4 = new QWidget( TabWidget2 );
+ tabLayout_4 = new QVBoxLayout( tab_4 );
+ tabLayout_4->setSpacing( 5 );
+ tabLayout_4->setMargin( 10 );
+
+ ValidateGroup = new QGroupBox( tab_4 );
+ ValidateGroup->setTitle( "" );
+ ValidateGroupLayout = new QVBoxLayout( ValidateGroup );
+ ValidateGroupLayout->setSpacing( 5 );
+ ValidateGroupLayout->setMargin( 10 );
+ ValidateGroupLayout->setAlignment( Qt::AlignTop );
+
+ NoValid = new QRadioButton( ValidateGroup );
+ NoValid->setText( tr( "Value is not validated" ) );
+ NoValid->setChecked( true );
+ ValidateGroupLayout->addWidget( NoValid );
+
+ VLayout1 = new QGridLayout;
+ VLayout1->setSpacing( 5 );
+ VLayout1->setMargin( 0 );
+
+ SimpleValid = new QRadioButton( ValidateGroup );
+ SimpleValid->setText( tr( "Value must be greater than or equal to:" ) );
+
+ VLayout1->addWidget( SimpleValid, 0, 0 );
+ TextVa = new QLabel( ValidateGroup );
+ TextVa->setText( tr( "and less or equal to:" ) );
+ VLayout1->addWidget( TextVa, 1, 0, Qt::AlignRight );
+
+ MinValid = new QLineEdit( ValidateGroup );
+ VLayout1->addWidget( MinValid, 0, 1 );
+
+ MaxValid = new QLineEdit( ValidateGroup );
+ VLayout1->addWidget( MaxValid, 1, 1 );
+ ValidateGroupLayout->addLayout( VLayout1 );
+
+ CustomValid = new QRadioButton( ValidateGroup );
+ CustomValid->setText( tr( "Custom validate script:" ) );
+ ValidateGroupLayout->addWidget( CustomValid );
+
+ VLayout2 = new QHBoxLayout;
+ VLayout2->setSpacing( 5 );
+ VLayout2->setMargin( 0 );
+
+ ValidScript = new QTextEdit( ValidateGroup );
+ ValidScript->setMinimumSize( QSize( 0, 50 ) );
+ ValidScript->setFocusPolicy(Qt::NoFocus);
+ ValidScript->setReadOnly( true );
+ ValidScript->setAutoFillBackground(true);
+ ValidScript->setPalette(palTxt);
+ VLayout2->addWidget( ValidScript );
+
+ EditValScript = new QPushButton( ValidateGroup );
+ EditValScript->setText( tr( "Edit..." ) );
+ EditValScript->setAutoDefault( false );
+ VLayout2->addWidget( EditValScript );
+ ValidateGroupLayout->addLayout( VLayout2 );
+ tabLayout_4->addWidget( ValidateGroup );
+ TabWidget2->addTab( tab_4, tr( "Validate" ) );
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_4), false);
+ SetVali();
+
+ tab_5 = new QWidget( TabWidget2 );
+ tabLayout_5 = new QVBoxLayout( tab_5 );
+ tabLayout_5->setSpacing( 5 );
+ tabLayout_5->setMargin( 10 );
+
+ CalcGroup = new QGroupBox( tab_5 );
+ CalcGroup->setTitle( "" );
+ CalcGroupLayout = new QVBoxLayout( CalcGroup );
+ CalcGroupLayout->setSpacing( 5 );
+ CalcGroupLayout->setMargin( 10 );
+ CalcGroupLayout->setAlignment( Qt::AlignTop );
+
+ NoCalc = new QRadioButton( CalcGroup );
+ NoCalc->setText( tr( "Value is not calculated" ) );
+ NoCalc->setChecked( true );
+ CalcGroupLayout->addWidget( NoCalc );
+
+ CLayout1 = new QHBoxLayout;
+ CLayout1->setSpacing( 5 );
+ CLayout1->setMargin( 0 );
+
+ SimpleCalc = new QRadioButton( CalcGroup );
+ SimpleCalc->setText( tr( "Value is the" ) );
+ CLayout1->addWidget( SimpleCalc );
+
+ CalcArt = new QComboBox( CalcGroup );
+ /* PFJ - 28/02/04 - Altered to QString/size_t/for style */
+ QString calc[] = {tr("sum"), tr("product"), tr("average"), tr("minimum"),
+ tr("maximum")};
+ size_t calcArray = sizeof(calc) / sizeof(*calc);
+ for (uint prop = 0; prop < calcArray; ++prop)
+ CalcArt->addItem(calc[prop]);
+ CLayout1->addWidget( CalcArt );
+
+ TextLabel1_2 = new QLabel( CalcGroup );
+ TextLabel1_2->setText( tr( "of the following fields:" ) );
+ CLayout1->addWidget( TextLabel1_2 );
+ CalcGroupLayout->addLayout( CLayout1 );
+
+ CLayout3 = new QHBoxLayout;
+ CLayout3->setSpacing( 5 );
+ CLayout3->setMargin( 0 );
+ CalcFields = new QLineEdit( CalcGroup );
+ CLayout3->addWidget( CalcFields );
+ SeField = new QPushButton( CalcGroup );
+ SeField->setText( tr( "Pick..." ) );
+ CLayout3->addWidget( SeField );
+ CalcGroupLayout->addLayout( CLayout3 );
+
+ CustomCalc = new QRadioButton( CalcGroup );
+ CustomCalc->setText( tr( "Custom calculation script:" ) );
+ CalcGroupLayout->addWidget( CustomCalc );
+
+ CLayout2 = new QHBoxLayout;
+ CLayout2->setSpacing( 5 );
+ CLayout2->setMargin( 0 );
+
+ CalcScript = new QTextEdit( CalcGroup );
+ CalcScript->setMinimumSize( QSize( 0, 50 ) );
+ CalcScript->setFocusPolicy(Qt::NoFocus);
+ CalcScript->setReadOnly( true );
+ CLayout2->addWidget( CalcScript );
+ CalcScript->setAutoFillBackground(true);
+ CalcScript->setPalette(palTxt);
+
+ EditCalc = new QPushButton( CalcGroup );
+ EditCalc->setText( tr( "Edit..." ) );
+ CLayout2->addWidget( EditCalc );
+ CalcGroupLayout->addLayout( CLayout2 );
+ tabLayout_5->addWidget( CalcGroup );
+ TabWidget2->addTab( tab_5, tr( "Calculate" ) );
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_5), false);
+ SetCalc();
+ GroupBox10Layout->addWidget( TabWidget2 );
+ Fram->addWidget(GroupBox10);
+
+ Frame9 = new QFrame( this );
+ Frame9->setFrameShape( QFrame::NoFrame );
+ Frame9->setFrameShadow( QFrame::Plain );
+ Fram->addWidget(Frame9);
+
+ SetAnnotationType(item->annotation().Type()-2);
+ Layout1_2 = new QHBoxLayout;
+ Layout1_2->setSpacing( 5 );
+ Layout1_2->setMargin( 0 );
+
+ QSpacerItem* spacerr = new QSpacerItem( 2, 2, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ Layout1_2->addItem( spacerr );
+ PushButton1 = new QPushButton( this );
+ PushButton1->setText( tr( "OK" ) );
+ PushButton1->setDefault( true );
+ Layout1_2->addWidget( PushButton1 );
+ PushButton2 = new QPushButton( this );
+ PushButton2->setText( tr( "Cancel" ) );
+ Layout1_2->addWidget( PushButton2 );
+ AnnotLayout->addLayout( Layout1_2 );
+ connect(PushButton1, SIGNAL(clicked()), this, SLOT(SetValues()));
+ connect(PushButton2, SIGNAL(clicked()), this, SLOT(reject()));
+ connect(EditFormat, SIGNAL(clicked()), this, SLOT(editFormatSc()));
+ connect(EditKeystr, SIGNAL(clicked()), this, SLOT(editKeySc()));
+ connect(EditValScript, SIGNAL(clicked()), this, SLOT(editValidSc()));
+ connect(EditCalc, SIGNAL(clicked()), this, SLOT(editCalcSc()));
+ connect(EditJ, SIGNAL(clicked()), this, SLOT(editJavaSc()));
+ connect(SeField, SIGNAL(clicked()), this, SLOT(SelectFelder()));
+ connect(Format0c, SIGNAL(activated(const QString&)), this, SLOT(setDateSample(const QString&)));
+ connect(TxFormat, SIGNAL(activated(int)), this, SLOT(SetFoScript(int)));
+ connect(ComboBox1, SIGNAL(activated(int)), this, SLOT(SetAnnotationType(int)));
+ connect(ActionCombo, SIGNAL(activated(int)), this, SLOT(SetActionType(int)));
+ connect(SelAction, SIGNAL(activated(int)), this, SLOT(SetActionScript(int)));
+ connect(Pg1, SIGNAL(Coords(double, double)), this, SLOT(SetCoords(double, double)));
+ connect(SpinBox11, SIGNAL(valueChanged(int)), this, SLOT(SetPage(int)));
+ connect(SpinBox21, SIGNAL(valueChanged(int)), this, SLOT(SetCross()));
+ connect(SpinBox31, SIGNAL(valueChanged(int)), this, SLOT(SetCross()));
+ connect(Limit, SIGNAL(clicked()), this, SLOT(SetLimit()));
+ connect(UseCurr, SIGNAL(clicked()), this, SLOT(SetCurr()));
+ connect(Format0, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format1, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format2, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format3, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format0a, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format1a, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format2a, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format3a, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format0b, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format1b, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format2b, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(Format3b, SIGNAL(clicked()), this, SLOT(SetFormNum()));
+ connect(NoValid, SIGNAL(clicked()), this, SLOT(HandleVali()));
+ connect(SimpleValid, SIGNAL(clicked()), this, SLOT(HandleVali()));
+ connect(CustomValid, SIGNAL(clicked()), this, SLOT(HandleVali()));
+ connect(NoCalc, SIGNAL(clicked()), this, SLOT(HandleCalc()));
+ connect(SimpleCalc, SIGNAL(clicked()), this, SLOT(HandleCalc()));
+ connect(CustomCalc, SIGNAL(clicked()), this, SLOT(HandleCalc()));
+ connect(IconN, SIGNAL(clicked()), this, SLOT(GetNIcon()));
+ connect(IconNR, SIGNAL(clicked()), this, SLOT(RemoveNIcon()));
+ connect(IconP, SIGNAL(clicked()), this, SLOT(GetPIcon()));
+ connect(IconPR, SIGNAL(clicked()), this, SLOT(RemovePIcon()));
+ connect(IconR, SIGNAL(clicked()), this, SLOT(GetRIcon()));
+ connect(IconRR, SIGNAL(clicked()), this, SLOT(RemoveRIcon()));
+ connect(UseIcons, SIGNAL(clicked()), this, SLOT(IconsEin()));
+ connect(PlaceIcon, SIGNAL(clicked()), this, SLOT(IPlace()));
+ connect(ChFile, SIGNAL(clicked()), this, SLOT(GetFile()));
+ connect(LExtern, SIGNAL(clicked()), this, SLOT(SetExternLink()));
+ connect(Name, SIGNAL(Leaved()), this, SLOT(NewName()));
+ NoSpell->setToolTip( tr( "Flag is ignored for PDF 1.3" ) );
+ NoScroll->setToolTip( tr( "Flag is ignored for PDF 1.3" ) );
+ CalcFields->setToolTip( tr( "Enter a comma separated list of fields here" ) );
+ IconNR->setToolTip( tr("You need at least the Icon for Normal to use Icons for Buttons"));
+ SetPage(qMin(SpinBox11->value(), MaxSeite));
+ SetCross();
+ resize( minimumSizeHint() );
+}
+
+Annot::~Annot()
+{}
+
+void Annot::NewName()
+{
+ QString NameNew = Name->text();
+ if (NameNew.isEmpty())
+ {
+ Name->setText(OldName);
+ return;
+ }
+ bool found = false;
+ for (int b = 0; b < view->Doc->Items->count(); ++b)
+ {
+ if ((NameNew == view->Doc->Items->at(b)->itemName()) && (view->Doc->Items->at(b) != item))
+ {
+ found = true;
+ break;
+ }
+ }
+ if (found)
+ {
+ Name->setText(OldName);
+ Name->setFocus();
+ }
+}
+
+void Annot::IPlace()
+{
+ ButtonIcon* dia = new ButtonIcon(this, item);
+ if (dia->exec())
+ {
+ int w = item->pixm.width();
+ int h = item->pixm.height();
+ double sw = item->width() / w;
+ double sh = item->height() / h;
+ double sc = qMin(sw, sh);
+ if (dia->IcScaleH == 3)
+ {
+ item->setImageXYScale(1.0, 1.0);
+ item->setImageXYOffset((item->width()-w)*dia->IcPlaceX, (item->height()-h)*dia->IcPlaceY);
+ }
+ else
+ {
+ if (dia->ScaleH->currentIndex() == 0)
+ {
+ item->setImageXYScale(sc, sc);
+ item->setImageXYOffset(((item->width()-w*sc)/sc)/2.0/ sc, ((item->height()-h*sc)/sc)/2.0/sc);
+ }
+ else
+ {
+ item->setImageXYScale(sw, sh);
+ item->setImageXYOffset(0.0, 0.0);
+ }
+ }
+ item->annotation().setIPlace(dia->Place->currentIndex());
+ item->annotation().setScaleW(dia->ScaleW->currentIndex());
+ }
+ delete dia;
+}
+
+void Annot::RemoveNIcon()
+{
+ NiconPrev->clear();
+ item->Pfile = "";
+ item->PictureIsAvailable = false;
+ IconNR->setEnabled(false);
+}
+
+void Annot::RemovePIcon()
+{
+ PiconPrev->clear();
+ item->Pfile2 = "";
+ IconPR->setEnabled(false);
+}
+
+void Annot::RemoveRIcon()
+{
+ RiconPrev->clear();
+ item->Pfile3 = "";
+ IconRR->setEnabled(false);
+}
+
+void Annot::IconsEin()
+{
+ bool setter = !UseIcons->isChecked() ? false : true;
+ IconN->setEnabled(setter);
+ IconP->setEnabled(setter);
+ IconR->setEnabled(setter);
+
+ NiconPrev->setEnabled(setter);
+ PiconPrev->setEnabled(setter);
+ RiconPrev->setEnabled(setter);
+ PlaceIcon->setEnabled(setter);
+ IconNR->setEnabled(!item->Pfile.isEmpty() ? true : false);
+ IconPR->setEnabled(!item->Pfile2.isEmpty() ? true : false);
+ IconRR->setEnabled(!item->Pfile3.isEmpty() ? true : false);
+ item->annotation().setUseIcons(UseIcons->isChecked());
+}
+
+void Annot::GetNIcon()
+{
+ QString fileName;
+ QString wdir = dirs->get("icon", ".");
+ CustomFDialog dia(this, wdir, tr("Open"),
+ tr("Images (*.tif *.png *.jpg *.xpm);;%1;;All Files (*)").arg(FormatsManager::instance()->extensionsForFormat(FormatsManager::EPS)), fdShowPreview | fdExistingFiles);
+ if (dia.exec() == QDialog::Accepted)
+ fileName = dia.selectedFile();
+ else
+ return;
+ if (!fileName.isEmpty())
+ {
+ dirs->set("icon", fileName.left(fileName.lastIndexOf("/")));
+ QPixmap pmI1;
+ CMSettings cms(view->Doc, "", Intent_Perceptual);
+ item->pixm.LoadPicture(fileName, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(item->pixm.qImage());
+ NiconPrev->setPixmap(pmI1);
+ item->Pfile = fileName;
+ item->PictureIsAvailable = true;
+ int w = item->pixm.width();
+ int h = item->pixm.height();
+ double sw = item->width() / w;
+ double sh = item->height() / h;
+ double sc = qMin(sw,sh);
+ item->setImageXYScale(sc, sc);
+ item->setImageXYOffset(((item->width()-(w*sc))/2)/sc, ((item->height()-(h*sc))/2)/sc);
+ IconNR->setEnabled(true);
+ }
+}
+
+void Annot::GetPIcon()
+{
+ QString fileName;
+ QString wdir = dirs->get("icon", ".");
+ CustomFDialog dia(this, wdir, tr("Open"),
+ tr("Images (*.tif *.png *.jpg *.xpm);;PostScript (*.eps *.epsi);;All Files (*)"), fdShowPreview | fdExistingFiles);
+ if (dia.exec() == QDialog::Accepted)
+ fileName = dia.selectedFile();
+ else
+ return;
+ if (!fileName.isEmpty())
+ {
+ dirs->set("icon", fileName.left(fileName.lastIndexOf("/")));
+ QPixmap pmI1;
+ ScImage im;
+ CMSettings cms(view->Doc, "", Intent_Perceptual);
+ im.LoadPicture(fileName, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(im.qImage());
+ PiconPrev->setPixmap(pmI1);
+ item->Pfile2 = fileName;
+ IconPR->setEnabled(true);
+ }
+}
+
+void Annot::GetRIcon()
+{
+ QString fileName;
+ QString wdir = dirs->get("icon", ".");
+ CustomFDialog dia(this, wdir, tr("Open"),
+ tr("Images (*.tif *.png *.jpg *.xpm);;PostScript (*.eps *.epsi);;All Files (*)"), fdShowPreview | fdExistingFiles);
+ if (dia.exec() == QDialog::Accepted)
+ fileName = dia.selectedFile();
+ else
+ return;
+ if (!fileName.isEmpty())
+ {
+ dirs->set("icon", fileName.left(fileName.lastIndexOf("/")));
+ QPixmap pmI1;
+ ScImage im;
+ CMSettings cms(view->Doc, "", Intent_Perceptual);
+ im.LoadPicture(fileName, 1, cms, false, false, ScImage::RGBData, 72);
+ pmI1=QPixmap::fromImage(im.qImage());
+ RiconPrev->setPixmap(pmI1);
+ item->Pfile3 = fileName;
+ IconRR->setEnabled(true);
+ }
+}
+
+void Annot::SelectFelder()
+{
+ SelectFields* dia = new SelectFields(this, CalcFields->text(), item->itemName(), view->Doc, 3);
+ if (dia->exec())
+ CalcFields->setText(dia->S_Fields);
+ delete dia;
+}
+
+void Annot::editKeySc()
+{
+ Editor* dia = new Editor(this, item->annotation().K_act(), view);
+ if (dia->exec())
+ {
+ item->annotation().setK_act(dia->EditTex->toPlainText());
+ KeyScript->setPlainText( item->annotation().K_act() );
+ }
+ delete dia;
+}
+
+void Annot::editFormatSc()
+{
+ Editor* dia = new Editor(this, item->annotation().F_act(), view);
+ if (dia->exec())
+ {
+ item->annotation().setF_act(dia->EditTex->toPlainText());
+ FormatScript->setPlainText( item->annotation().F_act() );
+ }
+ delete dia;
+}
+
+void Annot::editValidSc()
+{
+ Editor* dia = new Editor(this, item->annotation().V_act(), view);
+ if (dia->exec())
+ {
+ item->annotation().setV_act(dia->EditTex->toPlainText());
+ ValidScript->setPlainText( item->annotation().V_act() );
+ }
+ delete dia;
+}
+
+void Annot::editCalcSc()
+{
+ Editor* dia = new Editor(this, item->annotation().C_act(), view);
+ if (dia->exec())
+ {
+ item->annotation().setC_act(dia->EditTex->toPlainText());
+ CalcScript->setPlainText( item->annotation().C_act() );
+ }
+ delete dia;
+}
+
+void Annot::editJavaSc()
+{
+ Editor* dia = new Editor(this, EditJava->toPlainText(), view);
+ if (dia->exec())
+ EditJava->setPlainText(dia->EditTex->toPlainText());
+ delete dia;
+}
+
+void Annot::setDateSample(const QString& ds)
+{
+ QDateTime dt = QDateTime::currentDateTime();
+ QString tmp = "";
+ if (ds == "m/d")
+ tmp = "M/d";
+ if (ds == "m/d/yy")
+ tmp = "M/d/yy";
+ if (ds == "mm/dd/yy")
+ tmp = "MM/dd/yy";
+ if (ds == "mm/yy")
+ tmp = "MM/yy";
+ if (ds == "d-mmm")
+ tmp = "d-MMM";
+ if (ds == "d-mmm-yy")
+ tmp = "d-MMM-yy";
+ if (ds == "dd-mmm-yy")
+ tmp = "dd-MMM-yy";
+ if (ds == "dd/mm/yy")
+ tmp = "dd/MM/yy";
+ if (ds == "dd/mm/yyyy")
+ tmp = "dd/MM/yyyy";
+ if (ds == "yy-mm-dd")
+ tmp = "yy-MM-dd";
+ if (ds == "mmm-yy")
+ tmp = "MMM-yy";
+ if (ds == "mmmm-yy")
+ tmp = "MMMM-yy";
+ if (ds == "mmm d, yyyy")
+ tmp = "MMM d, yyyy";
+ if (ds == "mmmm d, yyyy")
+ tmp = "MMMM d, yyyy";
+ if (ds == "m/d/yy h:MM tt")
+ tmp = "M/d/yy h:mm ap";
+ if (ds == "m/d/yy HH:MM")
+ tmp = "M/d/yy hh:mm";
+ if (ds == "yyyy-mm-dd")
+ tmp = "yyyy-MM-dd";
+ if (ds == "dd.mm.yyyy")
+ tmp = "dd.MM.yyyy";
+ TextDa1->setText( tr("Example:")+" "+dt.toString(tmp));
+}
+
+void Annot::DecodeVali()
+{
+ QString pfor = item->annotation().V_act();
+ int ss = pfor.indexOf("(");
+ QString pfo = pfor.mid(ss+1, pfor.length()-ss-2);
+ QStringList pfol;
+ pfol = pfo.split(",", QString::SkipEmptyParts);
+ MinValid->setText(pfol[1].simplified());
+ MaxValid->setText(pfol[3].simplified());
+}
+
+void Annot::DecodeCalc()
+{
+ QString tm = "";
+ QString tm2;
+ QString pfor = item->annotation().C_act();
+ int ss = pfor.lastIndexOf("(");
+ QString pfo = pfor.mid(ss+1, pfor.length()-ss-3);
+ QStringList pfol;
+ pfol = pfo.split(",", QString::SkipEmptyParts);
+ if (pfol.count() > 1)
+ {
+ tm2 = pfol[0].simplified();
+ tm += tm2.mid(1, tm2.length()-2);
+ for (int cfx = 1; cfx < pfol.count(); ++cfx)
+ {
+ tm2 = pfol[cfx].simplified();
+ tm += ", "+tm2.mid(1, tm2.length()-2);
+ }
+ }
+ CalcFields->setText(tm);
+ ss = pfor.indexOf("(");
+ pfo = pfor.mid(ss+1, pfor.length()-ss-3);
+ pfol = pfo.split(",", QString::SkipEmptyParts);
+ /* PFJ - 28/02/04 - Let's get rid of lots of ifs.... */
+ QString pf[] = {"\"SUM\"", "\"PRD\"", "\"AVG\"", "\"MIN\"", "\"MAX\""};
+ size_t pfTest = sizeof(pf) / sizeof(*pf);
+ for (uint test = 0; test < pfTest; ++test)
+ {
+ if (pfol[0] == pf[test])
+ CalcArt->setCurrentIndex(test);
+ }
+}
+
+void Annot::DecodeNum()
+{
+ QString pfor = item->annotation().F_act();
+ int ss = pfor.indexOf("(");
+ QString pfo = pfor.mid(ss+1, pfor.length()-ss-2);
+ QStringList pfol;
+ pfol = pfo.split(",", QString::SkipEmptyParts);
+ if (item->annotation().Format() == 1)
+ {
+ Decim->setValue(pfol[0].toInt());
+ switch (pfol[1].toInt())
+ {
+ case 0:
+ Format0->setChecked(true);
+ FormNum = 0;
+ break;
+ case 1:
+ Format1->setChecked(true);
+ FormNum = 1;
+ break;
+ case 2:
+ Format2->setChecked(true);
+ FormNum = 2;
+ break;
+ case 3:
+ Format3->setChecked(true);
+ FormNum = 3;
+ break;
+ }
+ if (pfol[5] == " true")
+ PreCurr->setChecked(true);
+ else
+ PreCurr->setChecked(false);
+ if (pfol[4].length() > 2)
+ {
+ if (PreCurr->isChecked())
+ CurSym->setText(pfol[4].mid(2,pfol[4].length()-4));
+ else
+ CurSym->setText(pfol[4].mid(3,pfol[4].length()-4));
+ }
+ else
+ CurSym->setText("");
+ if (!CurSym->text().isEmpty())
+ {
+ CurSym->setEnabled(true);
+ UseCurr->setEnabled(true);
+ UseCurr->setChecked(true);
+ PreCurr->setEnabled(true);
+ }
+ }
+ if (item->annotation().Format() == 2)
+ {
+ Decim2->setValue(pfol[0].toInt());
+ switch (pfol[1].toInt())
+ {
+ case 0:
+ Format0a->setChecked(true);
+ FormNum = 0;
+ break;
+ case 1:
+ Format1a->setChecked(true);
+ FormNum = 1;
+ break;
+ case 2:
+ Format2a->setChecked(true);
+ FormNum = 2;
+ break;
+ case 3:
+ Format3a->setChecked(true);
+ FormNum = 3;
+ break;
+ }
+ }
+ if (item->annotation().Format() == 3)
+ {
+ setCurrentComboItem(Format0c, pfol[0].remove("\""));
+ setDateSample(pfol[0]);
+ }
+ if (item->annotation().Format() == 4)
+ {
+ switch (pfol[0].toInt())
+ {
+ case 0:
+ Format0b->setChecked(true);
+ FormNum = 0;
+ break;
+ case 1:
+ Format1b->setChecked(true);
+ FormNum = 1;
+ break;
+ case 2:
+ Format2b->setChecked(true);
+ FormNum = 2;
+ break;
+ case 3:
+ Format3b->setChecked(true);
+ FormNum = 3;
+ break;
+ }
+ }
+}
+
+void Annot::SetFormNum()
+{
+ switch (item->annotation().Format())
+ {
+ case 1:
+ if (Format0->isChecked())
+ FormNum = 0;
+ if (Format1->isChecked())
+ FormNum = 1;
+ if (Format2->isChecked())
+ FormNum = 2;
+ if (Format3->isChecked())
+ FormNum = 3;
+ break;
+ case 2:
+ if (Format0a->isChecked())
+ FormNum = 0;
+ if (Format1a->isChecked())
+ FormNum = 1;
+ if (Format2a->isChecked())
+ FormNum = 2;
+ if (Format3a->isChecked())
+ FormNum = 3;
+ break;
+ case 4:
+ if (Format0b->isChecked())
+ FormNum = 0;
+ if (Format1b->isChecked())
+ FormNum = 1;
+ if (Format2b->isChecked())
+ FormNum = 2;
+ if (Format3b->isChecked())
+ FormNum = 3;
+ break;
+ }
+}
+
+void Annot::HandleVali()
+{
+ bool setter = SimpleValid->isChecked() ? true : false;
+ MaxValid->setEnabled(setter);
+ MinValid->setEnabled(setter);
+ EditValScript->setEnabled(false);
+ if (CustomValid->isChecked())
+ EditValScript->setEnabled(true);
+}
+
+void Annot::SetVali()
+{
+ MaxValid->setEnabled(false);
+ MinValid->setEnabled(false);
+ EditValScript->setEnabled(false);
+ ValidScript->setEnabled(false);
+ if (item->annotation().V_act().isEmpty())
+ NoValid->setChecked(true);
+ else
+ {
+ if (item->annotation().V_act().startsWith("AFRange_Validate"))
+ {
+ MaxValid->setEnabled(true);
+ MinValid->setEnabled(true);
+ SimpleValid->setChecked(true);
+ DecodeVali();
+ }
+ else
+ {
+ EditValScript->setEnabled(true);
+ CustomValid->setChecked(true);
+ ValidScript->setPlainText(item->annotation().V_act());
+ }
+ }
+}
+
+void Annot::HandleCalc()
+{
+ bool setter = SimpleCalc->isChecked() ? true : false;
+ CalcFields->setEnabled(setter);
+ CalcArt->setEnabled(setter);
+ EditCalc->setEnabled(false);
+ SeField->setEnabled(setter);
+ if (CustomCalc->isChecked())
+ EditCalc->setEnabled(true);
+}
+
+void Annot::SetCalc()
+{
+ CalcFields->setEnabled(false);
+ CalcArt->setEnabled(false);
+ EditCalc->setEnabled(false);
+ SeField->setEnabled(false);
+ if (item->annotation().C_act().isEmpty())
+ NoCalc->setChecked(true);
+ else
+ {
+ if (item->annotation().C_act().startsWith("AFSimple_Calculate"))
+ {
+ CalcFields->setEnabled(true);
+ CalcArt->setEnabled(true);
+ SimpleCalc->setChecked(true);
+ SeField->setEnabled(true);
+ DecodeCalc();
+ }
+ else
+ {
+ EditCalc->setEnabled(true);
+ CustomCalc->setChecked(true);
+ CalcScript->setPlainText(item->annotation().C_act());
+ }
+ }
+}
+
+void Annot::SetCurr()
+{
+ bool setter = UseCurr->isChecked() ? true : false;
+ CurSym->setEnabled(setter);
+ PreCurr->setEnabled(setter);
+}
+
+void Annot::SetFoScript(int it)
+{
+ if (it >= 0 && it <=5)
+ FoFram->setCurrentIndex(it);
+ if (it == 1)
+ SetCurr();
+ if (it == 5)
+ {
+ EditFormat->setEnabled( true );
+ EditKeystr->setEnabled( true );
+ KeyScript->setPlainText("");
+ FormatScript->setPlainText("");
+// KeyScript->setText( item->annotation().K_act() );
+// FormatScript->setText( item->annotation().F_act() );
+ }
+ item->annotation().setFormat(it);
+}
+
+void Annot::SetCoords(double x, double y)
+{
+ SpinBox21->setValue(static_cast<int>(x*Width));
+ SpinBox31->setValue(static_cast<int>(y*Height));
+}
+
+void Annot::SetPage(int v)
+{
+ disconnect(SpinBox11, SIGNAL(valueChanged(int)), this, SLOT(SetPage(int)));
+ if ((item->annotation().ActionType() == 7) || (item->annotation().ActionType() == 9))
+ {
+ if (!Pg1->SetPage(v, 100, Destfile->text()))
+ {
+ SpinBox11->setValue(1);
+ Pg1->SetPage(1, 100, Destfile->text());
+ }
+ Width = Pg1->Width;
+ Height = Pg1->Height;
+ // SetCoords(0,0);
+ }
+ else
+ {
+ Pg1->SetPage(qMin(v-1, MaxSeite-1), 100);
+ SpinBox11->setValue(qMin(v, MaxSeite));
+ Width = OriWidth;
+ Height = OriHeight;
+ // SetCoords(0,0);
+ }
+ SpinBox21->setMaximum(Width);
+ SpinBox31->setMaximum(Height);
+ connect(SpinBox11, SIGNAL(valueChanged(int)), this, SLOT(SetPage(int)));
+}
+
+void Annot::SetCross()
+{
+ int x,y;
+ disconnect(Pg1, SIGNAL(Coords(double, double)), this, SLOT(SetCoords(double, double)));
+ x = static_cast<int>(static_cast<double>(SpinBox21->value())/static_cast<double>(Width)*Pg1->pmx.width());
+ y = static_cast<int>(static_cast<double>(SpinBox31->value())/static_cast<double>(Height)*Pg1->pmx.height());
+ Pg1->drawMark(x, y);
+ connect(Pg1, SIGNAL(Coords(double, double)), this, SLOT(SetCoords(double, double)));
+}
+
+void Annot::SetValues()
+{
+ QString tmp, tmp2;
+ QString Nfo("");
+ bool AAct = false;
+ item->annotation().setType(ComboBox1->currentIndex()+2);
+ if (Name->text() != OldName)
+ item->setItemName(Name->text());
+ item->annotation().setToolTip(Tip->text());
+ item->annotation().setRollOver(TextO->text());
+ item->annotation().setDown(DownT->text());
+ item->annotation().setBwid(BorderW->currentIndex());
+ item->annotation().setBsty(BorderS->currentIndex());
+ item->annotation().setFeed(ComboBox7_2->currentIndex());
+ item->annotation().setVis(Visib->currentIndex());
+ item->annotation().setFont(Schrift->currentIndex());
+ item->annotation().setFlag(0);
+ item->annotation().setIsChk(isChkd->isChecked());
+ item->annotation().setChkStil(ChkStil->currentIndex());
+ item->annotation().setBorderColor(BorderC->currentText());
+ if (item->annotation().borderColor() == CommonStrings::tr_NoneColor)
+ item->annotation().setBorderColor(CommonStrings::None);
+ Limit->isChecked() ? item->annotation().setMaxChar(MaxChars->value()) : item->annotation().setMaxChar(-1);
+ if (item->annotation().Type() == 2)
+ {
+ item->annotation().addToFlag(65536);
+ if (item->Pfile.isEmpty())
+ item->annotation().setUseIcons(false);
+ }
+ else
+ {
+ item->annotation().setUseIcons(false);
+ if (ReadOnly->isChecked())
+ item->annotation().addToFlag(1);
+ if (Required->isChecked())
+ item->annotation().addToFlag(2);
+ if (NoExport->isChecked())
+ item->annotation().addToFlag(4);
+ }
+ if (item->annotation().Type() == 5)
+ {
+ item->annotation().addToFlag(131072);
+ if (CanEdit->isChecked())
+ item->annotation().addToFlag(262144);
+ }
+ if (item->annotation().Type() == 3)
+ {
+ if (MultiL->isChecked())
+ item->annotation().addToFlag(4096);
+ if (Passwd->isChecked())
+ item->annotation().addToFlag(8192);
+ if (NoSpell->isChecked())
+ item->annotation().addToFlag(4194304);
+ if (NoScroll->isChecked())
+ item->annotation().addToFlag(8388608);
+ }
+ if ((item->annotation().Type() == 3) || (item->annotation().Type() == 5))
+ {
+ if (NoValid->isChecked())
+ item->annotation().setV_act("");
+ if (SimpleValid->isChecked())
+ item->annotation().setV_act("AFRange_Validate(true, "+MinValid->text()+", true, "+MaxValid->text()+")");
+ if (CustomValid->isChecked())
+ item->annotation().setV_act(ValidScript->toPlainText());
+ if (NoCalc->isChecked())
+ item->annotation().setC_act("");
+ if (SimpleCalc->isChecked())
+ {
+ QString tmpCact = "AFSimple_Calculate(";
+ switch (CalcArt->currentIndex())
+ {
+ case 0:
+ tmpCact += "\"SUM\", ";
+ break;
+ case 1:
+ tmpCact += "\"PRD\", ";
+ break;
+ case 2:
+ tmpCact += "\"AVG\", ";
+ break;
+ case 3:
+ tmpCact += "\"MIN\", ";
+ break;
+ case 4:
+ tmpCact += "\"MAX\", ";
+ break;
+ }
+ tmpCact += "new Array (";
+ QStringList pfol;
+ pfol = CalcFields->text().split(",", QString::SkipEmptyParts);
+ if (pfol.count() > 1)
+ {
+ tmpCact += "\""+pfol[0].simplified()+"\"";
+ for (int cfx = 1; cfx < pfol.count(); cfx++)
+ {
+ tmpCact += ", \""+pfol[cfx].simplified()+"\"";
+ }
+ }
+ tmpCact += "))";
+ item->annotation().setC_act(tmpCact);
+ }
+ if (CustomCalc->isChecked())
+ item->annotation().setC_act(CalcScript->toPlainText());
+ switch (TxFormat->currentIndex())
+ {
+ case 0:
+ item->annotation().setF_act("");
+ item->annotation().setK_act("");
+ break;
+ case 1:
+ Nfo = tmp.setNum(Decim->value())+", "+tmp2.setNum(FormNum)+", 0, 0, \"";
+ if (UseCurr->isChecked())
+ {
+ if (!PreCurr->isChecked())
+ Nfo += " ";
+ Nfo += CurSym->text().simplified();
+ if (PreCurr->isChecked())
+ Nfo += " ";
+ }
+ if (PreCurr->isChecked())
+ Nfo += "\", true)";
+ else
+ Nfo += "\", false)";
+ item->annotation().setF_act("AFNumber_Format("+Nfo);
+ item->annotation().setK_act("AFNumber_Keystroke("+Nfo);
+ break;
+ case 2:
+ Nfo = tmp.setNum(Decim2->value())+", "+tmp.setNum(FormNum)+")";
+ item->annotation().setF_act("AFPercent_Format("+Nfo);
+ item->annotation().setK_act("AFPercent_Keystroke("+Nfo);
+ break;
+ case 3:
+ Nfo = Format0c->currentText()+"\")";
+ item->annotation().setF_act("AFDate_FormatEx(\""+Nfo);
+ item->annotation().setK_act("AFDate_KeystrokeEx(\""+Nfo);
+ break;
+ case 4:
+ Nfo = tmp.setNum(FormNum)+")";
+ item->annotation().setF_act("AFTime_Format("+Nfo);
+ item->annotation().setK_act("AFTime_Keystroke("+Nfo);
+ break;
+ case 5:
+ item->annotation().setF_act(FormatScript->toPlainText());
+ item->annotation().setK_act(KeyScript->toPlainText());
+ break;
+ }
+ }
+ item->annotation().setAction("");
+ switch (ActionCombo->currentIndex())
+ {
+ case 0:
+ item->annotation().setActionType(0);
+ break;
+ case 1:
+ item->annotation().setActionType(1);
+ switch (ScrEdited)
+ {
+ case 0:
+ item->annotation().setAction(EditJava->toPlainText());
+ break;
+ case 1:
+ item->annotation().setD_act(EditJava->toPlainText());
+ break;
+ case 2:
+ item->annotation().setE_act(EditJava->toPlainText());
+ break;
+ case 3:
+ item->annotation().setX_act(EditJava->toPlainText());
+ break;
+ case 4:
+ item->annotation().setFo_act(EditJava->toPlainText());
+ break;
+ case 5:
+ item->annotation().setBl_act(EditJava->toPlainText());
+ break;
+ case 6:
+ item->annotation().setK_act(EditJava->toPlainText());
+ break;
+ }
+ break;
+ case 2:
+ if ((LExtern->isChecked()) && (!Destfile->text().isEmpty()))
+ {
+ item->annotation().setExtern(Destfile->text());
+ if (useAbsolute->isChecked())
+ item->annotation().setActionType(9);
+ else
+ item->annotation().setActionType(7);
+ }
+ else
+ {
+ item->annotation().setExtern("");
+ item->annotation().setActionType(2);
+ }
+ item->annotation().setZiel(SpinBox11->value()-1);
+ item->annotation().setAction(tmp.setNum(SpinBox21->value())+" "+tmp2.setNum(Height-SpinBox31->value())+" 0");
+ break;
+ case 3:
+ item->annotation().setActionType(3);
+ item->annotation().setAction(SubURL->text().simplified());
+ item->annotation().setHTML(SelAsHtml->currentIndex());
+// item->annotation().setHTML(SubAsHtml->isChecked());
+ break;
+ case 4:
+ item->annotation().setActionType(4);
+ break;
+ case 5:
+ item->annotation().setActionType(5);
+ item->annotation().setAction(SubURLa->text().simplified());
+ break;
+ }
+ if (!item->annotation().E_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().X_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().D_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().Fo_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().Bl_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().K_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().F_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().V_act().isEmpty())
+ AAct = true;
+ if (!item->annotation().C_act().isEmpty())
+ AAct = true;
+ item->annotation().setAAact(AAct);
+ accept();
+}
+
+void Annot::SetAnnotationType(int it)
+{
+ disconnect(ActionCombo, SIGNAL(activated(int)), this, SLOT(SetActionType(int)));
+ disconnect(TxFormat, SIGNAL(activated(int)), this, SLOT(SetFoScript(int)));
+ int tmpac = item->annotation().ActionType();
+ if ((tmpac == 7) || (tmpac == 9))
+ tmpac = 2;
+ int sela = it + 2;
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab4), false);
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_4), false);
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_5), false);
+ EditFormat->setEnabled( false );
+ EditKeystr->setEnabled( false );
+ SelAction->clear();
+ QString tmp_selact[]={tr("Mouse Up"), tr("Mouse Down"), tr("Mouse Enter"),
+ tr("Mouse Exit"), tr("On Focus"), tr("On Blur")};
+ size_t array_sel = sizeof(tmp_selact) / sizeof(*tmp_selact);
+ /* PFJ - 28/02/04 - Altered from uint to int and varname */
+ for (uint prop = 0; prop < array_sel; ++prop)
+ SelAction->addItem(tmp_selact[prop]);
+ bool setter;
+ switch (sela)
+ {
+ case 2:
+ {
+ Fram->setCurrentIndex(3);
+ FramOp->setCurrentIndex(sela-2);
+ ReadOnly->setEnabled(false);
+ ReadOnly->setChecked(false);
+ Required->setEnabled(false);
+ Required->setChecked(false);
+ NoExport->setEnabled(false);
+ NoExport->setChecked(false);
+ ActionCombo->clear();
+ QString tmp_actcom[] = {tr("None", "action"), tr("JavaScript"), tr("Go To"),
+ tr("Submit Form"), tr("Reset Form"), tr("Import Data")};
+ size_t array_act = sizeof(tmp_actcom) / sizeof(*tmp_actcom);
+ /* PFJ - 28/02/04 - Altered from uint to int and varname */
+ for (uint prop = 0; prop < array_act; ++prop)
+ ActionCombo->addItem(tmp_actcom[prop]);
+ ActionCombo->setCurrentIndex(qMin(tmpac,5));
+ setter = ((item->annotation().ActionType() != 7) && (item->annotation().ActionType() != 9)) ? true : false;
+ Destfile->setEnabled(setter);
+ ChFile->setEnabled(setter);
+ SetActionType(tmpac);
+ break;
+ }
+ case 3:
+ case 6:
+ case 4:
+ case 5:
+ case 7:
+ if ((sela == 3) || (sela == 5))
+ {
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab4), true);
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_4), true);
+ TabWidget2->setTabEnabled(TabWidget2->indexOf(tab_5), true);
+ TxFormat->setCurrentIndex(item->annotation().Format());
+ SetFoScript(item->annotation().Format());
+ SetVali();
+ SetCalc();
+ }
+ if (sela == 6)
+ SelAction->addItem( tr( "Selection Change" ) );
+ ReadOnly->setEnabled(true);
+ ReadOnly->setChecked(item->annotation().Flag() & 1);
+ Required->setChecked(item->annotation().Flag() & 2);
+ NoExport->setChecked(item->annotation().Flag() & 4);
+ Fram->setCurrentIndex(3);
+ sela > 5 ? FramOp->setCurrentIndex(3) : FramOp->setCurrentIndex(sela-2);
+ ActionCombo->clear();
+ ActionCombo->addItem( tr( "None" ) );
+ ActionCombo->addItem( tr( "JavaScript" ) );
+ ActionCombo->setCurrentIndex(qMin(tmpac, 1));
+ SetActionType(tmpac);
+ break;
+ default:
+ Fram->setCurrentIndex(2);
+ break;
+ }
+ MultiL->setChecked(item->annotation().Flag() & 4096);
+ Passwd->setChecked(item->annotation().Flag() & 8192);
+ CanEdit->setChecked(item->annotation().Flag() & 262144);
+ NoSpell->setChecked(item->annotation().Flag() & 4194304);
+ NoScroll->setChecked(item->annotation().Flag() & 8388608);
+ ChkStil->setCurrentIndex(item->annotation().ChkStil());
+ isChkd->setChecked(item->annotation().IsChk());
+ setter = item->annotation().MaxChar() != -1 ? true : false;
+ MaxChars->setValue(setter == true ? item->annotation().MaxChar() : 0);
+ Limit->setChecked(setter);
+ MaxChars->setEnabled(setter);
+ connect(ActionCombo, SIGNAL(activated(int)), this, SLOT(SetActionType(int)));
+ connect(TxFormat, SIGNAL(activated(int)), this, SLOT(SetFoScript(int)));
+}
+
+void Annot::SetLimit()
+{
+ Limit->isChecked() ? MaxChars->setEnabled(true) :MaxChars->setEnabled(false);
+}
+
+void Annot::SetExternLink()
+{
+ disconnect(LExtern, SIGNAL(clicked()), this, SLOT(SetExternLink()));
+ bool enable;
+ if (!LExtern->isChecked())
+ {
+ item->annotation().setActionType(2);
+ enable = false;
+ // Destfile->setEnabled(false);
+ // ChFile->setEnabled(false);
+ SetPage(qMin(SpinBox11->value(), MaxSeite));
+ }
+ else
+ {
+ if (useAbsolute->isChecked())
+ item->annotation().setActionType(9);
+ else
+ item->annotation().setActionType(7);
+ enable = true;
+ // Destfile->setEnabled(true);
+ // ChFile->setEnabled(true);
+ if (Destfile->text().isEmpty())
+ {
+ GetFile();
+ if (Destfile->text().isEmpty())
+ {
+ item->annotation().setActionType(2);
+ enable = false;
+ // Destfile->setEnabled(false);
+ // ChFile->setEnabled(false);
+ LExtern->setChecked(false);
+ }
+ }
+ SetPage(qMin(SpinBox11->value(), MaxSeite));
+ }
+ Destfile->setEnabled(enable);
+ ChFile->setEnabled(enable);
+ connect(LExtern, SIGNAL(clicked()), this, SLOT(SetExternLink()));
+}
+
+void Annot::SetActionType(int it)
+{
+ bool setter;
+ switch (it)
+ {
+ case 5:
+ Fram2->setCurrentIndex(4);
+ SubURLa->setText(item->annotation().Action());
+ break;
+ case 3:
+ Fram2->setCurrentIndex(3);
+ SubURL->setText(item->annotation().Action());
+// SubAsHtml->setChecked(item->annotation().HTML());
+ SelAsHtml->setCurrentIndex(item->annotation().HTML());
+ break;
+ case 2:
+ Fram2->setCurrentIndex(2);
+ setter = item->annotation().ActionType() != 7 ? true : false;
+ Destfile->setEnabled(setter);
+ ChFile->setEnabled(setter);
+ SetPage(qMin(SpinBox11->value(), MaxSeite));
+ break;
+ case 1:
+ Fram2->setCurrentIndex(1);
+ SelAction->setCurrentIndex(ScrEdited);
+ break;
+ default:
+ Fram2->setCurrentIndex(0);
+ break;
+ }
+}
+
+void Annot::SetActionScript(int it)
+{
+ switch (ScrEdited)
+ {
+ case 0:
+ item->annotation().setAction(EditJava->toPlainText());
+ break;
+ case 1:
+ item->annotation().setD_act(EditJava->toPlainText());
+ break;
+ case 2:
+ item->annotation().setE_act(EditJava->toPlainText());
+ break;
+ case 3:
+ item->annotation().setX_act(EditJava->toPlainText());
+ break;
+ case 4:
+ item->annotation().setFo_act(EditJava->toPlainText());
+ break;
+ case 5:
+ item->annotation().setBl_act(EditJava->toPlainText());
+ break;
+ case 6:
+ item->annotation().setK_act(EditJava->toPlainText());
+ break;
+ }
+ switch (it)
+ {
+ case 0:
+ EditJava->setPlainText(item->annotation().Action());
+ break;
+ case 1:
+ EditJava->setPlainText(item->annotation().D_act());
+ break;
+ case 2:
+ EditJava->setPlainText(item->annotation().E_act());
+ break;
+ case 3:
+ EditJava->setPlainText(item->annotation().X_act());
+ break;
+ case 4:
+ EditJava->setPlainText(item->annotation().Fo_act());
+ break;
+ case 5:
+ EditJava->setPlainText(item->annotation().Bl_act());
+ break;
+ case 6:
+ EditJava->setPlainText(item->annotation().K_act());
+ break;
+ }
+ ScrEdited = it;
+}
+
+void Annot::GetFile()
+{
+ QString fn;
+ QString wdir = dirs->get("annot_getfile", ".");
+ CustomFDialog dia(this, wdir, tr("Open"), tr("PDF Files (*.pdf);;All Files (*)"));
+ if (!Destfile->text().isEmpty())
+ dia.setSelection(Destfile->text());
+ if (dia.exec() == QDialog::Accepted)
+ {
+ fn = dia.selectedFile();
+ if (!fn.isEmpty())
+ {
+ dirs->set("annot_getfile", fn.left(fn.lastIndexOf("/")));
+ Destfile->setText(fn);
+ SpinBox11->setValue(1);
+ SpinBox11->setMaximum(1000);
+ SetPage(1);
+ }
+ }
+}