Could somebody help me, i have 2 classes, Calendar.cpp and Appointment.cpp
The Appointment class works like it should be able to make a new appointment.
When I click a menu in the calendar class, a new dialogue-window should appear that adds the appointment.
How should i connect what i write in the Appointment dialogue to the Calendar class as an appointment. I cant figure out how to get the text updated correctly between the 2 classes.

Kalender.cpp
Qt Code:
  1. #include <QtGui>
  2. #include "kalender.h"
  3. #include "avtale.h"
  4.  
  5. Kalender::Kalender()
  6. {
  7. createActions();
  8. createMenus();
  9. lagKalender();
  10.  
  11. //Layout delen
  12.  
  13. QWidget *centralWidget = new QWidget;
  14.  
  15. QHBoxLayout *layout = new QHBoxLayout;
  16. layout->addWidget(qWidget);
  17.  
  18. QVBoxLayout *vinduet = new QVBoxLayout;
  19. vinduet->addLayout(layout);
  20. centralWidget->setLayout(vinduet);
  21.  
  22. setCentralWidget(centralWidget);
  23. }
  24.  
  25. void Kalender::lagKalender()
  26. {
  27.  
  28.  
  29. qWidget = new QTableWidget(5, 7, this);
  30.  
  31. qWidget->setHorizontalHeaderItem(0, new QTableWidgetItem("Monday"));
  32. qWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("Tuesday"));
  33. qWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("Wednesday"));
  34. qWidget->setHorizontalHeaderItem(3, new QTableWidgetItem("Thursday"));
  35. qWidget->setHorizontalHeaderItem(4, new QTableWidgetItem("Friday"));
  36. qWidget->setHorizontalHeaderItem(5, new QTableWidgetItem("Saturday"));
  37. qWidget->setHorizontalHeaderItem(6, new QTableWidgetItem("Sunday"));
  38.  
  39. qWidget->setVerticalHeaderItem(0, new QTableWidgetItem("Week 1"));
  40. qWidget->setVerticalHeaderItem(1, new QTableWidgetItem("Week 2"));
  41. qWidget->setVerticalHeaderItem(2, new QTableWidgetItem("Week 3"));
  42. qWidget->setVerticalHeaderItem(3, new QTableWidgetItem("Week 4"));
  43. qWidget->setVerticalHeaderItem(4, new QTableWidgetItem("Week 5"));
  44.  
  45. for (int i = 0; i < 31; i++) {
  46. int column = i/7;
  47. int row = i % 7;
  48. s.setNum (i+1);
  49. qWidget->setItem(column, row, new QTableWidgetItem(s));
  50. }
  51. }
  52. void Kalender::createActions()
  53. {
  54. newAction = new QAction(tr("&New"), this);
  55. newAction->setIcon(QIcon(":/images/new.pwn"));
  56. newAction->setShortcut(QKeySequence::New);
  57. newAction->setStatusTip(tr("Create a new calendar"));
  58. connect(newAction, SIGNAL(triggered()),
  59. this, SLOT(close()));
  60.  
  61. openAction = new QAction(tr("&Open"), this);
  62. openAction->setIcon(QIcon(":/images/open.pwn"));
  63. openAction->setShortcut(QKeySequence::Open);
  64. openAction->setStatusTip(tr("Open a calendar"));
  65. connect(openAction, SIGNAL(triggered()),
  66. this, SLOT(close()));
  67.  
  68. exitAction = new QAction(tr("E&xit"), this);
  69. exitAction->setShortcut(tr("Ctrl+Q"));
  70. exitAction->setStatusTip(tr("Exit the calendar"));
  71. connect(exitAction, SIGNAL(triggered()),
  72. this, SLOT(close()));
  73.  
  74. saveAction = new QAction(tr("&Save"), this);
  75. saveAction->setShortcut(QKeySequence::Save);
  76. saveAction->setStatusTip(tr("Save the calendar"));
  77. connect(saveAction, SIGNAL(triggered()),
  78. this, SLOT(close()));
  79.  
  80. saveAsAction = new QAction(tr("Save &As"), this);
  81. saveAsAction->setStatusTip(tr("Save the calendar"));
  82. connect(saveAsAction, SIGNAL(triggered()),
  83. this, SLOT(close()));
  84.  
  85. cutAction = new QAction(tr("Cu&t"), this);
  86. cutAction->setShortcut(QKeySequence::Cut);
  87. cutAction->setStatusTip(tr("Cut out text"));
  88. connect(cutAction, SIGNAL(triggered()),
  89. this, SLOT(close()));
  90.  
  91. copyAction = new QAction(tr("&Copy"), this);
  92. copyAction->setShortcut(QKeySequence::Copy);
  93. copyAction->setStatusTip(tr("Copy selected text"));
  94. connect(copyAction, SIGNAL(triggered()),
  95. this, SLOT(close()));
  96.  
  97. pasteAction = new QAction(tr("&Paste"), this);
  98. pasteAction->setShortcut(QKeySequence::Paste);
  99. pasteAction->setStatusTip(tr("Paste text"));
  100. connect(pasteAction, SIGNAL(triggered()),
  101. this, SLOT(close()));
  102.  
  103. deleteAction = new QAction(tr("&Delete"), this);
  104. deleteAction->setShortcut(QKeySequence::Delete);
  105. deleteAction->setStatusTip(tr("Delete text"));
  106. connect(deleteAction, SIGNAL(triggered()),
  107. this, SLOT(close()));
  108.  
  109. lagAvtale = new QAction(tr("&Ny avtale"), this);
  110. lagAvtale->setStatusTip("Lag en ny avtale");
  111. connect(lagAvtale, SIGNAL(triggered()),
  112. this, SLOT(leggTil()));
  113.  
  114. redigerAvtale = new QAction(tr("Rediger Avtale"), this);
  115. redigerAvtale->setShortcut(tr("Ctrl+R"));
  116. redigerAvtale->setStatusTip(tr("Rediger avtale"));
  117. connect(redigerAvtale, SIGNAL(triggered()),
  118. this, SLOT(close()));
  119.  
  120. }
  121. void Kalender::createMenus()
  122. {
  123.  
  124. fileMenu = menuBar()->addMenu(tr("&File"));
  125. fileMenu->addAction(newAction);
  126. fileMenu->addAction(openAction);
  127. fileMenu->addAction(saveAction);
  128. fileMenu->addAction(saveAsAction);
  129. separatorAction = fileMenu->addSeparator();
  130. fileMenu->addSeparator();
  131. fileMenu->addAction(exitAction);
  132.  
  133. editMenu = menuBar()->addMenu(tr("&Edit"));
  134. editMenu->addAction(cutAction);
  135. editMenu->addAction(copyAction);
  136. editMenu->addAction(pasteAction);
  137. editMenu->addSeparator();
  138. editMenu->addAction(deleteAction);
  139.  
  140. avtaleMenu = menuBar()->addMenu(tr("&Avtale"));
  141. avtaleMenu->addAction(lagAvtale);
  142. avtaleMenu->addAction(redigerAvtale);
  143. }
  144. void Kalender::leggTil()
  145. {
  146. if(!nyAvtale) {
  147. nyAvtale = new nyAvtale();
  148. connect(nyAvtale, SIGNAL(textChanged(const QString &)),
  149. this, SLOT(textChanged(const QString &)));
  150. }
  151. nyAvtale->show();
  152. nyAvtale->raise();
  153. nyAvtale->activateWindow();
  154.  
  155. /*
  156. QString text = nyAvtale->lineEdit->text();
  157.  
  158. qWidget->setItem(3, 3, new QTableWidgetItem(text));*/
  159. }
To copy to clipboard, switch view to plain text mode 

Avtale.cpp
Qt Code:
  1. #include <QtGui>
  2. #include "avtale.h"
  3.  
  4. Avtale::Avtale(QWidget *parent)
  5. : QDialog(parent)
  6. {
  7. label = new QLabel(tr("Skriv inn avtale:"));
  8. lineEdit = new QLineEdit;
  9. label->setBuddy(lineEdit);
  10.  
  11. leggTilAvtale = new QPushButton(tr("Legg til avtale"));
  12. leggTilAvtale->setEnabled(false);
  13.  
  14. closeButton = new QPushButton(tr("Close"));
  15.  
  16. label2 = new QLabel(tr(""));
  17.  
  18. connect(lineEdit, SIGNAL(textChanged(const QString &)),
  19. this, SLOT(enableButton(const QString &)));
  20. connect(leggTilAvtale, SIGNAL(clicked()),
  21. this, SLOT(updateButton()));
  22. connect(closeButton, SIGNAL(clicked()),
  23. this, SLOT(close()));
  24.  
  25. QHBoxLayout *topLeftLayout = new QHBoxLayout;
  26. topLeftLayout->addWidget(label);
  27. topLeftLayout->addWidget(lineEdit);
  28.  
  29. QVBoxLayout *leftLayout = new QVBoxLayout;
  30. leftLayout->addLayout(topLeftLayout);
  31. leftLayout->addWidget(label2);
  32.  
  33. QVBoxLayout *rightLayout = new QVBoxLayout;
  34. rightLayout->addWidget(leggTilAvtale);
  35. rightLayout->addWidget(closeButton);
  36. rightLayout->addStretch();
  37.  
  38. QHBoxLayout *mainLayout = new QHBoxLayout;
  39. mainLayout->addLayout(leftLayout);
  40. mainLayout->addLayout(rightLayout);
  41. setLayout(mainLayout);
  42.  
  43. setWindowTitle(tr("Find"));
  44. setFixedHeight(sizeHint().height());
  45. }
  46. void Avtale::updateButton()
  47. {
  48. QString text = lineEdit->text();
  49.  
  50. label2->setText(text);
  51. lineEdit->clear();
  52. }
  53. void Avtale::enableButton(const QString &text)
  54. {
  55. leggTilAvtale->setEnabled(!text.isEmpty());
  56. }
To copy to clipboard, switch view to plain text mode