Compare commits
5 Commits
20251101
...
1ac5a4e42a
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ac5a4e42a | |||
| 83d212aa91 | |||
| bd24fba407 | |||
| 3448f62f31 | |||
| 567e66acb5 |
@@ -2,7 +2,7 @@ FITS/XISF image viewer with multithreaded image loading
|
|||||||
|
|
||||||
To get all dependencies install these packages
|
To get all dependencies install these packages
|
||||||
|
|
||||||
sudo apt install qt6-base-dev qt6-declarative-dev libqt6opengl6-dev libraw-dev libexif-dev libcfitsio-dev wcslib-dev cmake libzstd-dev libqt6sql6-sqlite
|
sudo apt install qt6-base-dev qt6-declarative-dev qt6-charts-dev libqt6opengl6-dev libraw-dev libexif-dev libcfitsio-dev wcslib-dev cmake libzstd-dev libqt6sql6-sqlite
|
||||||
|
|
||||||
on OpenSUSE
|
on OpenSUSE
|
||||||
|
|
||||||
@@ -26,6 +26,10 @@ Then to build run standard cmake sequence
|
|||||||
cmake --build build
|
cmake --build build
|
||||||
./build/tenmon
|
./build/tenmon
|
||||||
|
|
||||||
|
To install it to system run this command as root
|
||||||
|
|
||||||
|
cmake --install build
|
||||||
|
|
||||||
For working plate solving you must have compiled and installed StellarSolver https://github.com/rlancaste/stellarsolver
|
For working plate solving you must have compiled and installed StellarSolver https://github.com/rlancaste/stellarsolver
|
||||||
It is important that you compile StellarSolver with Qt6. By default it use Qt5 but when linked with Qt6 program it will
|
It is important that you compile StellarSolver with Qt6. By default it use Qt5 but when linked with Qt6 program it will
|
||||||
crash.
|
crash.
|
||||||
|
|||||||
+1
-1
Submodule libXISF updated: 2e74d94641...7b70b6a081
@@ -47,6 +47,7 @@
|
|||||||
</keywords>
|
</keywords>
|
||||||
<url type="homepage">https://nouspiro.space/?page_id=206</url>
|
<url type="homepage">https://nouspiro.space/?page_id=206</url>
|
||||||
<url type="bugtracker">https://github.com/flathub/space.nouspiro.tenmon/issues</url>
|
<url type="bugtracker">https://github.com/flathub/space.nouspiro.tenmon/issues</url>
|
||||||
|
<url type="vcs-browser">https://gitea.nouspiro.space/nou/tenmon</url>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
<caption>Main window with image</caption>
|
<caption>Main window with image</caption>
|
||||||
@@ -59,6 +60,14 @@
|
|||||||
</screenshots>
|
</screenshots>
|
||||||
<content_rating type="oars-1.1"/>
|
<content_rating type="oars-1.1"/>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="20260217" date="2026-02-17">
|
||||||
|
<description>
|
||||||
|
<ul>
|
||||||
|
<li>Fix potentional crash</li>
|
||||||
|
<li>Enable sorting of FITS info</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release version="20251101" date="2025-11-01">
|
<release version="20251101" date="2025-11-01">
|
||||||
<description>
|
<description>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ ImageInfo::ImageInfo(QWidget *parent) : QTreeWidget(parent)
|
|||||||
setIndentation(5);
|
setIndentation(5);
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
header()->restoreState(settings.value("imageinfo/headerstate").toByteArray());
|
header()->restoreState(settings.value("imageinfo/headerstate").toByteArray());
|
||||||
|
setSortingEnabled(true);
|
||||||
|
header()->setSortIndicatorClearable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageInfo::~ImageInfo()
|
ImageInfo::~ImageInfo()
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ void Image::thumbnailLoadFinish(std::shared_ptr<RawImage> rawImage)
|
|||||||
emit thumbnailLoaded(this);
|
emit thumbnailLoaded(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageRingList::ImageRingList(Database *database, const QStringList &nameFilter, QObject *parent) : QAbstractItemModel(parent)
|
ImageRingList::ImageRingList(Database *database, const QStringList &nameFilter, QObject *parent) : QAbstractListModel(parent)
|
||||||
, m_liveMode(false)
|
, m_liveMode(false)
|
||||||
, m_analyzeLevel(None)
|
, m_analyzeLevel(None)
|
||||||
, m_database(database)
|
, m_database(database)
|
||||||
@@ -412,7 +412,7 @@ void ImageRingList::clearThumbnails()
|
|||||||
img->clearThumbnail();
|
img->clearThumbnail();
|
||||||
}
|
}
|
||||||
|
|
||||||
QModelIndex ImageRingList::index(int row, int column, const QModelIndex &parent) const
|
/*QModelIndex ImageRingList::index(int row, int column, const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
Q_UNUSED(parent);
|
||||||
return createIndex(row, column, m_images.at(row).get());
|
return createIndex(row, column, m_images.at(row).get());
|
||||||
@@ -422,7 +422,7 @@ QModelIndex ImageRingList::parent(const QModelIndex &child) const
|
|||||||
{
|
{
|
||||||
Q_UNUSED(child);
|
Q_UNUSED(child);
|
||||||
return QModelIndex();
|
return QModelIndex();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
int ImageRingList::rowCount(const QModelIndex &parent) const
|
int ImageRingList::rowCount(const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
@@ -432,13 +432,15 @@ int ImageRingList::rowCount(const QModelIndex &parent) const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ImageRingList::columnCount(const QModelIndex &parent) const
|
/*int ImageRingList::columnCount(const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
Q_UNUSED(parent);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
QVariant ImageRingList::data(const QModelIndex &index, int role) const
|
QVariant ImageRingList::data(const QModelIndex &index, int role) const
|
||||||
|
{
|
||||||
|
if(index.isValid() && index.row() >= 0 && index.row() < m_images.size())
|
||||||
{
|
{
|
||||||
switch(role)
|
switch(role)
|
||||||
{
|
{
|
||||||
@@ -458,6 +460,8 @@ QVariant ImageRingList::data(const QModelIndex &index, int role) const
|
|||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
|
||||||
QVariant ImageRingList::headerData(int section, Qt::Orientation orientation, int role) const
|
QVariant ImageRingList::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
{
|
{
|
||||||
|
|||||||
+4
-4
@@ -51,7 +51,7 @@ typedef std::shared_ptr<Image> ImagePtr;
|
|||||||
|
|
||||||
class Database;
|
class Database;
|
||||||
|
|
||||||
class ImageRingList : public QAbstractItemModel
|
class ImageRingList : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
int m_width;
|
int m_width;
|
||||||
@@ -93,10 +93,10 @@ public:
|
|||||||
void updateMark();
|
void updateMark();
|
||||||
void clearThumbnails();
|
void clearThumbnails();
|
||||||
|
|
||||||
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
|
//QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QModelIndex parent(const QModelIndex &child) const override;
|
//QModelIndex parent(const QModelIndex &child) const override;
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
|
//int columnCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
||||||
public slots:
|
public slots:
|
||||||
|
|||||||
Reference in New Issue
Block a user