Changeset 49 in projects


Ignore:
Timestamp:
Dec 11, 2009, 9:35:47 PM (14 years ago)
Author:
sven
Message:
  • Text editing part:

Improved Column counting
80 column line bar

  • Saving with Jones Format works
Location:
punch-card/punch-card-editor/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • punch-card/punch-card-editor/src/app/decktexteditor.cc

    r48 r49  
    7575void TextEditorDock::showTextConverterDialog() {
    7676        qDebug("Text Converter Dialog... PENDING");
     77}
     78
     79DeckTextEditor::DeckTextEditor(EditorWindow* main) : QPlainTextEdit(main), main(main) {
     80        row_area = new NumberArea(this);
     81        col_area = new NumberArea(this);
     82
     83        connect(this->document(), SIGNAL(contentsChange(int,int,int)),
     84                this, SLOT(translateChanges(int, int, int)));
     85
     86        // Codec erstellen
     87        codec = QSharedPointer<const Codec>( CodecFactory::createCodec("o29_code") );
     88        if(!codec) {
     89                qDebug("Got NULL Codec :-(");
     90        }
     91
     92        // Font einstellen
     93        QFont font;
     94        font.setFamily("Courier");
     95        font.setFixedPitch(true);
     96        font.setPointSize(13);
     97        setFont(font);
     98
     99        QFont col_font = font;
     100        col_font.setFamily("Verdana");
     101        col_font.setPointSize(7);
     102        col_area->setFont(col_font);
     103
     104        connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int)));
     105        connect(this, SIGNAL(updateRequest(const QRect &, int)), this, SLOT(updateLineNumberArea(const QRect &, int)));
     106        connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentCursorPos()));
     107
     108        updateLineNumberAreaWidth(0);
     109        highlightCurrentCursorPos();
    77110}
    78111
     
    95128}
    96129
    97 DeckTextEditor::DeckTextEditor(EditorWindow* main) : QPlainTextEdit(main), main(main) {
    98         row_area = new NumberArea(this);
    99         col_area = new NumberArea(this);
    100 
    101         connect(this->document(), SIGNAL(contentsChange(int,int,int)),
    102                 this, SLOT(translateChanges(int, int, int)));
    103 
    104         // Codec erstellen
    105         codec = QSharedPointer<const Codec>( CodecFactory::createCodec("o29_code") );
    106         if(!codec) {
    107                 qDebug("Got NULL Codec :-(");
    108         }
    109 
    110         // Font einstellen
    111         QFont font;
    112         font.setFamily("Courier");
    113         font.setFixedPitch(true);
    114         font.setPointSize(13);
    115         setFont(font);
    116 
    117         QFont col_font = font;
    118         col_font.setPointSize(8);
    119         col_area->setFont(col_font);
    120 
    121         connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int)));
    122         connect(this, SIGNAL(updateRequest(const QRect &, int)), this, SLOT(updateLineNumberArea(const QRect &, int)));
    123         connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentCursorPos()));
    124 
    125         updateLineNumberAreaWidth(0);
    126         highlightCurrentCursorPos();
     130// das wird *NICHT* repainten, das muss danach gemacht werden
     131bool DeckTextEditor::checkValidity(int pos) {
     132        QChar c = document()->characterAt(pos);
     133        if(c.isNull()) {
     134                qDebug("checkValidity: %d is not a valid position", pos);
     135                return true;
     136        }
     137        // check character
     138        Q_ASSERT(codec);
     139        if(codec->canEncode(c.toAscii())) {
     140                // everything fine with this character
     141                // just take a look wether it was declared as bad sometime
     142                // ago...
     143                qDebug("Codec says %c can be encoded", c.toAscii());
     144                for(int bads = 0; bads < invalid_characters.length(); bads++) {
     145                        if( pos == invalid_characters[bads].cursor.anchor() ) {
     146                                qDebug("Character at %d is no more bad", pos);
     147                                // dieses Zeichen loeschen und iterieren stoppen
     148                                invalid_characters.removeAt(bads);
     149                                emit invalidCharactersCountChanged( invalid_characters.count() );
     150                                break;
     151                        }
     152                }
     153
     154                return true;
     155        } else {
     156                // this is a bad character that cannot be encoded
     157                // with the current Codec.
     158                qDebug("Codec says %c cannot be encoded", c.toAscii());
     159                // #1: Mark character
     160                QTextEdit::ExtraSelection selection;
     161                selection.cursor = QTextCursor(document());
     162                selection.cursor.setPosition(pos);
     163                selection.cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor);
     164                selection.format.setFontWeight(QFont::Bold);
     165                selection.format.setForeground(Qt::red);
     166                selection.format.setBackground(Qt::yellow);
     167                selection.format.setToolTip(tr("This character cannot be punched on the punch card using the current codec"));
     168                // #2: Toggle anywhere in the superclass that the text
     169                //     contains bad characters
     170                invalid_characters.append(selection);
     171                emit invalidCharactersCountChanged( invalid_characters.count() );
     172                // das emitten auf ein *Zeichen* hin ist ggf. schlecht, wenn die
     173                // Funktion etwa in translateChanges in einer schleife aufgerufen wird
     174                // und ein reciever dann sehr viel zeug hintereinander macht...
     175
     176                // #3: Return that this character is invalid
     177                return false;
     178        }
    127179}
    128180
    129181void DeckTextEditor::translateChanges(int position, int charsRemoved, int charsAdded) {
    130182        // Dieser slot wird durch das QTextDocument aufgerufen, wenn der Benutzer
    131         // den Inhalt geaendert hat. => Uebersetzen ins Kartenmodell und als Signal
    132         // weitergeben.
     183        // den Inhalt geaendert hat.
     184        // 1) Ueberpruefen, ob Text uebersetzbar ist
     185        // 2) Uebersetzen ins Kartenmodell und als Signal weitergeben.
    133186        Q_ASSERT(main != 0);
    134187        Q_ASSERT(main->deck != 0);
     
    145198        DeckIndex end_block_number = main->deck->createIndex( end_block.blockNumber() );
    146199
     200
     201        if(!(end_pos >= start_pos)) { // sonst waers echt bloed.
     202                qDebug("Das momentane END/START-Verhaeltnis ist bloed.");
     203        }
     204
    147205        if(! start_block.isValid()) {
    148206                // keine gute Grundlage.
     
    155213                qDebug() << start_block_number;
    156214                return;
     215        }
     216
     217        // Ueber Buchstaben iterieren und auf Gueltigkeit ueberpruefen,
     218        // wird diese auch textlich auszeichnen
     219        for(int i = start_pos; i < end_pos; i++) {
     220                if(!checkValidity(i)) {
     221                        qDebug("Got invalid character at %d", i);
     222                }
     223                // neue text highlights painten
     224                paintHighlights();
    157225        }
    158226
     
    192260}
    193261
     262/**
     263 * BUG: Text den man direkt danach schreibt, wird auch gelb wie ungueltige Chars.
     264 *   Ursache: Formatierung wird immer auch auf Zeichen direkt danach angewandt.
     265 *   Loesung: Eine weitere Formatierung fuer zeichen  direkt danach anwenden, wenn
     266 *   diese eingegeben werden
     267 *
     268 **/
    194269bool DeckTextEditor::translateBlock(const QTextBlock& block) {
    195270        Q_ASSERT(!codec.isNull());
     
    262337        if (rect.contains(viewport()->rect()))
    263338                updateLineNumberAreaWidth(0);
     339}
     340
     341void DeckTextEditor::paintEvent(QPaintEvent* e) {
     342        QPlainTextEdit::paintEvent(e);
     343        // mal testweise hier den 80 column begrenzungsstrich hinpinseln
     344        // ggf. besser: *unter* den normalen Kram zeichnen, mit ausgegrautem
     345        // Bereich und schoenem Strich. Vgl. Qt Creator Editor-Dingens.
     346        QPainter p( viewport() );
     347        int x_pos = fontMetrics().width('1') * 80 + this->cursorRect(QTextCursor(document())).x();
     348        p.setBrush(Qt::blue);
     349        p.drawLine(QPoint(x_pos, e->rect().top()), QPoint(x_pos, e->rect().bottom()));
    264350 }
    265351
     
    334420                }
    335421        }
     422        {
     423                // Third: Bad Characters list
     424                extra_selections.append(this->invalid_characters);
     425        }
    336426
    337427        setExtraSelections(extra_selections);
     
    370460                painter.setFont(font);*/
    371461
    372                 int font_width = fontMetrics().width('4');
     462                // das holt die Metrik von der Font der
     463                // Textarea, nicht die kleinere!
     464                int font_width = this->fontMetrics().width('1');
     465
     466                int x_offset = this->cursorRect(QTextCursor(document())).x();
    373467
    374468                // ueber alle *zeichen* iterieren.
    375                 for(int i = 0; i < 80; i++) {
    376                         painter.drawText(row_area->width() + i * font_width, 4, font_width, fontMetrics().height(), Qt::AlignCenter,
    377                                 QString::number(i));
     469                for(int i = 1; i <= 80; i++) {
     470                        /*painter.drawLine(
     471                                        QPoint(x_offset + row_area->width() + i * font_width, 4),
     472                                        QPoint(x_offset + row_area->width() + i * font_width, 20)
     473                        );*/
     474
     475                        painter.drawText(x_offset + row_area->width() + i * font_width, 4, font_width, fontMetrics().height(),
     476                                Qt::AlignHCenter,
     477                                QString("%1\n%2").arg(QString::number((int)(i / 10))).arg(QString::number(i%10))
     478                        );
    378479                }
    379480        } else {
  • punch-card/punch-card-editor/src/app/decktexteditor.h

    r48 r49  
    4242        QPointer<EditorWindow> main;
    4343        QSharedPointer<const Codec> codec;
     44        QList<QTextEdit::ExtraSelection> invalid_characters;
    4445        friend class TextEditorDock;
    4546
     
    6465        QSize numberAreaSize(const NumberArea* area) const;
    6566        bool translateBlock(const QTextBlock& block);
     67        bool checkValidity(int pos);
     68        /// returns # of invalid chars
     69        int containsInvalidCharacters() { return invalid_characters.count(); }
    6670
    6771public slots:
     
    7377        // die aktive Karte des Benutzers
    7478        void cursorRowChanged(DeckIndex row);
     79        void invalidCharactersCountChanged(int new_number);
    7580
    7681private:
     
    8186protected:
    8287        void resizeEvent(QResizeEvent* event);
     88        void paintEvent(QPaintEvent* e);
    8389
    8490private slots:
  • punch-card/punch-card-editor/src/app/editorwindow.cc

    r47 r49  
    118118        // this method will close it when everything went good
    119119        QFile file(filename);
    120         FileFormat* format = autoDetectFileFormat(file);
     120        const FileFormat* format = FileFormatFactory::createFormat(
     121                                FileFormatFactory::autoDetectFormat(file)
     122                             );
    121123        Deck* new_deck = new Deck(format);
    122124        // Leser anschmeissen
    123         if( format->read(file) ) {
     125        if( new_deck->read(file) ) {
    124126                statusBar()->showMessage(QString(tr("Deck read in successfully")), 4000);
    125127        } else
     
    193195                // Nutze einfach mal
    194196                deck->setFormat( new JonesFileFormat );
    195                 return deck->save(file);
     197                if(deck->save(file)) {
     198                        statusBar()->showMessage(QString(tr("Deck written successfully to %1").arg(filename)), 4000);
     199                        return true;
     200                } else {
     201                        // todo: das hier als qmessagewindow oder so
     202                        statusBar()->showMessage(QString(tr("Error while writing the deck")), 4000);
     203                        return false;
     204                }
    196205        }
    197206}
  • punch-card/punch-card-editor/src/qpunchcard/card.cc

    r48 r49  
    66void Deck::init() {
    77        undo = new QUndoStack(this);
     8}
     9
     10void Deck::setFormat(const FileFormat* new_format) {
     11        created_format = QSharedPointer<const FileFormat>(new_format);
     12}
    813
    914
     15bool Deck::save(const FileFormat* format, QFile& file) {
     16        return format ? format->write(file, *this) : false;
    1017}
    1118
    12 bool Deck::save(FileFormat* format, QFile& file) {
    13         if(!format) return false;
    14         return format->write(file);
     19bool Deck::read(const FileFormat* format, QFile& file) {
     20        return format ? format->read(file, *this) : false;
    1521}
    1622
  • punch-card/punch-card-editor/src/qpunchcard/card.h

    r48 r49  
    99#include <QUndoStack>
    1010#include <QFile>
     11#include <QSharedPointer>
    1112
    1213#include <QModelIndex>
     
    9495        Q_OBJECT
    9596
    96         QPointer<FileFormat> created_format;
     97        QSharedPointer<const FileFormat> created_format;
    9798        void init();
    9899
     
    106107        ~Deck() {};
    107108        /// Create from file/stream/etc., that is, calls format->read()
    108         Deck(FileFormat* format) : QList< QPointer<Card> >(), created_format(format) { init(); }
     109        Deck(const FileFormat* format) : QList< QPointer<Card> >(), created_format(format) { init(); }
    109110        /// Save with same device/format as created
    110         bool save(QFile& file) { return save(created_format, file); }
     111        bool save(QFile& file) { return save(created_format.data(), file); }
    111112        /// Save
    112         bool save(FileFormat* format, QFile& file);
     113        bool save(const FileFormat* format, QFile& file);
     114        bool read(QFile& file) { return read(created_format.data(), file); }
     115        bool read(const FileFormat* format, QFile& file);
    113116
    114117        bool canSave() const { return created_format; }
    115         void setFormat(FileFormat* format) { created_format = format; } // TODO: was ist mit altem format?
     118        void setFormat(const FileFormat* format);
    116119        //File* getFile() { if(created_format && created_format->file) return created_format->file; }
    117120
  • punch-card/punch-card-editor/src/qpunchcard/codec.h

    r48 r49  
    5656        CharArrayCodec(const int* table, char illegal = '~');// : Codec(illegal), table(table) {}
    5757        char toAscii(const Column* col) const { return inverse_table[*col]; }
    58         Column fromAscii(char ch) const { return Column(table[ch]); }
     58        Column fromAscii(char ch) const { return Column(canEncode(ch) ? table[ch]: 0); }
    5959
    6060        bool canEncode(const Column* col) const { return inverse_table[*col] != illegal; }
    61         bool canEncode(char ch) const { return table[ch] != ERROR; }
     61        bool canEncode(char ch) const {
     62                bool r = (table[ch] != ERROR);
     63                if(ch < ' ' || ch > 'z') r = false;
     64                //qDebug("CharArrayCodec: %c is a %s character", ch, r ? "valid" : "invalid");
     65                return r; }
    6266};
    6367
  • punch-card/punch-card-editor/src/qpunchcard/format.cc

    r44 r49  
    44using namespace QPunchCard;
    55
    6 FileFormat* QPunchCard::autoDetectFileFormat(const QFile&) {
    7         // geht soweit ganz einfach:
    8         return new JonesFileFormat();
    9         /*JonesFileFormat* n = new JonesFileFormat();
    10         n->file = new QFile( file.fileName(), n ); // super copy ;-)
    11         return n;*/
     6QList<QString> FileFormatFactory::availableFormats() {
     7        QList<QString> ret;
     8        ret << "Jones Emulated Card Deck File" << "Punch Card Markup Language File";
     9        return ret;
    1210}
    1311
    14 bool JonesFileFormat::read(QFile& file) {
     12const FileFormat* FileFormatFactory::createFormat(const QString& name) {
     13        if(name == "Jones Emulated Card Deck File")
     14                return new JonesFileFormat;
     15        if(name == "Punch Card Markup Language File")
     16                return new PunchCardMarkupLanguageFormat;
     17        else {
     18                qDebug() << "FileFormatFactory: Invalid createFormat name: " << name;
     19                return 0;
     20        }
     21}
     22
     23QString FileFormatFactory::autoDetectFormat(const QFile&) {
     24        // spaeter per magic bytes-Erkennung machen
     25        return QString("Jones Emulated Card Deck File");
     26}
     27
     28bool JonesFileFormat::read(QFile& file, Deck& deck) const {
    1529        qDebug() << "Jones reading";
    1630
     
    2034                        return false;
    2135        }
    22 
    23         // ohne Deck geht gar nix
    24         if(!deck)
    25                 return false;
    2636
    2737        // Now we have an open file at `file`. Use
     
    8090
    8191                /* push card on the card deck*/
    82                 deck->push_back(cur_card);
     92                deck.push_back(cur_card);
    8393        } // while ! eof
    8494
     
    8898
    8999// jones writer
    90 bool JonesFileFormat::write(QFile& file) {
     100bool JonesFileFormat::write(QFile& file, const Deck& deck) const {
    91101        qDebug() << "Jones writing";
    92102
    93103        if(!file.isOpen()) {
    94104                // oeffne Datei
    95                 if(! file.open(QIODevice::WriteOnly))
     105                if(! file.open(QIODevice::WriteOnly)) {
     106                        qDebug() << "Failed to open file: " << file.errorString();
    96107                        return false;
     108                }
    97109        }
    98 
    99         // nen Deck brauchen wir natuerlich auch schon
    100         if(!deck)
    101                 return false;
    102110
    103111        int col_length = 80;
    104112
    105113        // Write out file prefix
    106 
     114        qDebug() << "Beginning Jones writing";
    107115        file.putChar('H');
    108116        file.putChar('8');
     
    112120
    113121        //for(i = begin(); i != end(); i++ ) {
    114         for(int i=0; i < deck->count(); i++) {
     122        for(int i=0; i < deck.count(); i++) {
    115123                // iterate throught the Cards
    116124                // erhmm... write a header...
     
    126134                        char first, second, third;
    127135
    128                         int even = jones_column_to_integer( deck->at(i)->get(cur_col++) );
    129                         int odd = jones_column_to_integer( deck->at(i)->get(cur_col++) );
     136                        int even = jones_column_to_integer( deck[i]->get(cur_col++) );
     137                        int odd = jones_column_to_integer( deck[i]->get(cur_col++) );
    130138
    131139                        first = even >> 4;
     
    140148
    141149        file.close();
     150        qDebug() << "Jones File written.";
    142151        return true; // done.
    143152} // jones writer
     
    160169
    161170        int r;
    162         for(int i = 0; i < (int)sizeof(Mapping); i++)
     171        //             das hier sollte im Idealfall gleich sein ;-)
     172        for(int i = 0; i < col.size() && i < (int)sizeof(Mapping); i++)
    163173                r |= (col[i] << Mapping[i]);
    164174        return r;
  • punch-card/punch-card-editor/src/qpunchcard/format.h

    r44 r49  
    33
    44namespace QPunchCard {
    5 class FileFormat; };
     5class FileFormat; class FileFormatFactory; };
    66
    77#include "card.h"
    8 #include <QPointer>
    98#include <QFile>
     9#include <QList>
     10#include <QString>
    1011
    1112namespace QPunchCard {
    1213
    13 class FileFormat : public QObject {
    14         Q_OBJECT
    15 
    16 protected:
    17 //      QPointer<QFile> file;
    18         QPointer<Deck> deck;
    19         friend class Deck;
    20 
     14class FileFormat {
    2115public:
    22         FileFormat(QObject* parent = 0): QObject(parent) {}
    23 
    24 public slots:
    25         virtual bool write(QFile&) { return false; }
    26         virtual bool read(QFile&) { return false; }
    27         virtual bool saveDialog() { return false; }
    28         virtual bool readDialog() { return false; }
    29 
    30 signals:
    31         // for save/read progress bars in toolbar
    32         void progress(int);
     16        virtual ~FileFormat() {}
     17        virtual bool write(QFile& /* target */, const Deck& /* source */) const = 0;
     18        virtual bool read(QFile& /* source */, Deck& /* target */) const = 0;
    3319};
    3420
    35 FileFormat* autoDetectFileFormat(const QFile &file);
     21class FileFormatFactory {
     22public:
     23        static QList<QString> availableFormats();
     24        static const FileFormat* createFormat(const QString& name);
     25        static QString autoDetectFormat(const QFile& file);
     26};
    3627
    3728/****************************************************************************
     
    4031
    4132class JonesFileFormat : public FileFormat {
    42         Q_OBJECT
     33public:
     34        static int jones_column_to_integer(const Column& col);
     35        static Column jones_integer_to_column(int integer);
    4336
    44 public:
    45         JonesFileFormat() {}
    46 
    47         int jones_column_to_integer(const Column& col);
    48         Column jones_integer_to_column(int integer);
    49 
    50 public slots:
    51         bool write(QFile& file);
    52         bool read(QFile& file);
     37        bool write(QFile& target, const Deck& source) const;
     38        bool read(QFile& source, Deck& target) const;
    5339};
    5440
     41class PunchCardMarkupLanguageFormat : public FileFormat {
     42public:
     43        bool write(QFile& target, const Deck& source) const { return false; }
     44        bool read(QFile& source, Deck& target) const { return false; }
     45};
    5546
    5647}; // namespace
  • punch-card/punch-card-editor/src/src.pro.user

    r48 r49  
    8383    <value type="QString" >CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild</value>
    8484    <value type="QString" >CVS_RSH=ssh</value>
    85     <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-uhw0GfKk8Y,guid=e0286bbbef04ed7c603577be4b1fe48d</value>
     85    <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ebkbOdFEJV,guid=24fbcd9fb1a83886c102f0364b2278cc</value>
    8686    <value type="QString" >DCCC_PATH=/usr/lib/distcc/bin</value>
    8787    <value type="QString" >DESKTOP_SESSION=xfce</value>
     
    122122    <value type="QString" >QTDIR=/usr</value>
    123123    <value type="QString" >SANE_CONFIG_DIR=/etc/sane.d</value>
    124     <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3921,unix/sveni:/tmp/.ICE-unix/3921</value>
     124    <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3918,unix/sveni:/tmp/.ICE-unix/3918</value>
    125125    <value type="QString" >SHELL=/bin/bash</value>
    126126    <value type="QString" >SHLVL=1</value>
    127     <value type="QString" >SSH_AGENT_PID=3913</value>
    128     <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-emYdHV3912/agent.3912</value>
     127    <value type="QString" >SSH_AGENT_PID=3910</value>
     128    <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-eIpvrL3909/agent.3909</value>
    129129    <value type="QString" >USB_DEVFS_PATH=/dev/bus/usb</value>
    130130    <value type="QString" >USER=sven</value>
     
    133133    <value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value>
    134134    <value type="QString" >XDG_DATA_DIRS=/usr/local/share:/usr/kde/4.2/share:/usr/kde/3.5/share:/usr/share:/usr/share</value>
    135     <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260381324.894938-786350827</value>
     135    <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260550347.423423-1208523191</value>
    136136    <value type="QString" >XDM_MANAGED=method=classic</value>
    137137    <value type="QString" >_=/usr/bin/xfce4-session</value>
     
    160160    <value type="QString" >CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild</value>
    161161    <value type="QString" >CVS_RSH=ssh</value>
    162     <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-uhw0GfKk8Y,guid=e0286bbbef04ed7c603577be4b1fe48d</value>
     162    <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ebkbOdFEJV,guid=24fbcd9fb1a83886c102f0364b2278cc</value>
    163163    <value type="QString" >DCCC_PATH=/usr/lib/distcc/bin</value>
    164164    <value type="QString" >DESKTOP_SESSION=xfce</value>
     
    199199    <value type="QString" >QTDIR=/usr</value>
    200200    <value type="QString" >SANE_CONFIG_DIR=/etc/sane.d</value>
    201     <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3921,unix/sveni:/tmp/.ICE-unix/3921</value>
     201    <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3918,unix/sveni:/tmp/.ICE-unix/3918</value>
    202202    <value type="QString" >SHELL=/bin/bash</value>
    203203    <value type="QString" >SHLVL=1</value>
    204     <value type="QString" >SSH_AGENT_PID=3913</value>
    205     <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-emYdHV3912/agent.3912</value>
     204    <value type="QString" >SSH_AGENT_PID=3910</value>
     205    <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-eIpvrL3909/agent.3909</value>
    206206    <value type="QString" >USB_DEVFS_PATH=/dev/bus/usb</value>
    207207    <value type="QString" >USER=sven</value>
     
    210210    <value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value>
    211211    <value type="QString" >XDG_DATA_DIRS=/usr/local/share:/usr/kde/4.2/share:/usr/kde/3.5/share:/usr/share:/usr/share</value>
    212     <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260381324.894938-786350827</value>
     212    <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260550347.423423-1208523191</value>
    213213    <value type="QString" >XDM_MANAGED=method=classic</value>
    214214    <value type="QString" >_=/usr/bin/xfce4-session</value>
     
    233233    <value type="QString" >CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild</value>
    234234    <value type="QString" >CVS_RSH=ssh</value>
    235     <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-uhw0GfKk8Y,guid=e0286bbbef04ed7c603577be4b1fe48d</value>
     235    <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ebkbOdFEJV,guid=24fbcd9fb1a83886c102f0364b2278cc</value>
    236236    <value type="QString" >DCCC_PATH=/usr/lib/distcc/bin</value>
    237237    <value type="QString" >DESKTOP_SESSION=xfce</value>
     
    272272    <value type="QString" >QTDIR=/usr</value>
    273273    <value type="QString" >SANE_CONFIG_DIR=/etc/sane.d</value>
    274     <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3921,unix/sveni:/tmp/.ICE-unix/3921</value>
     274    <value type="QString" >SESSION_MANAGER=local/sveni:@/tmp/.ICE-unix/3918,unix/sveni:/tmp/.ICE-unix/3918</value>
    275275    <value type="QString" >SHELL=/bin/bash</value>
    276276    <value type="QString" >SHLVL=1</value>
    277     <value type="QString" >SSH_AGENT_PID=3913</value>
    278     <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-emYdHV3912/agent.3912</value>
     277    <value type="QString" >SSH_AGENT_PID=3910</value>
     278    <value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-eIpvrL3909/agent.3909</value>
    279279    <value type="QString" >USB_DEVFS_PATH=/dev/bus/usb</value>
    280280    <value type="QString" >USER=sven</value>
     
    283283    <value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value>
    284284    <value type="QString" >XDG_DATA_DIRS=/usr/local/share:/usr/kde/4.2/share:/usr/kde/3.5/share:/usr/share:/usr/share</value>
    285     <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260381324.894938-786350827</value>
     285    <value type="QString" >XDG_SESSION_COOKIE=4ca7d15657433fffff2f84004717d7fc-1260550347.423423-1208523191</value>
    286286    <value type="QString" >XDM_MANAGED=method=classic</value>
    287287    <value type="QString" >_=/usr/bin/xfce4-session</value>
Note: See TracChangeset for help on using the changeset viewer.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License